トップページgamedev
994コメント388KB

【3Dゲームエンジン】Unity 4 [転載禁止]©5ch.net

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。2015/06/16(火) 01:35:14.74ID:VIGyPiQQ
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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0805名前は開発中のものです。2015/08/09(日) 18:06:36.80ID:juyi80yV
>>804
ここここれっぽいです!!! ありがとうございます!!
destroyされたGameObjectのprefabをInspectorに開きっぱなしです。
確かに、この状態だと100%発生しますね(恐らく生成のタイミングで)。
とはいえ、どうしてそうなるんでしょう
0806名前は開発中のものです。2015/08/09(日) 19:30:08.93ID:MJa1D6eV
質問です。
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"にしています。
どなたかわかる方、または参考になるサイトをご存知の方居たら教えてください。
0807名前は開発中のものです。2015/08/09(日) 19:35:54.21ID:a0bgjuvw
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の表示がされております。
自分自身かどうか判断する方法は無いでしょうか?よろしくお願いいたします。
0808名前は開発中のものです。2015/08/09(日) 19:57:23.46ID:a0bgjuvw
自己解決しました。申し訳ございません。
0809名前は開発中のものです。2015/08/09(日) 22:15:38.25ID:iIBFuBQ/
Unityを使用するブラウザゲームをやっているんですが、
最近、数十分前には起動できていたのに、ゲームを立ち上げようとしたらUnityが消えてる(アンインストールされてる?)事があります。
(Unityダウンロードページでもnot installedになっている)
なにかウイルスか設定のようなものでこうなったりするんでしょうか?
0810名前は開発中のものです。2015/08/09(日) 22:54:46.87ID:bQXYImrI
>>805
ギャグかよw
destroyしたからに決まってんだろうw
もう使わないよと言っておきながら使うという矛盾www
0811名前は開発中のものです。2015/08/09(日) 22:58:41.88ID:bQXYImrI
>>809
きっと妖怪の仕業だわ
お祓いしなきゃね
0812名前は開発中のものです。2015/08/09(日) 23:20:09.22ID:M1ulE9Fv
最初のシーンが重いのかUnityロゴ表示がかなり長くなってしまったので
シーン切り替えスクリプトのオブジェクトのみ配置したシーンを最初に作ったんだけど
変わらずロゴ画面でロードしてしまいます
なるべくロゴ表示を早く切り替えるのにはどうすれば良いですか?
0813名前は開発中のものです。2015/08/09(日) 23:31:12.99ID:eHkK7Iki
Proを買う
0814名前は開発中のものです。2015/08/10(月) 00:39:12.02ID:NcNOCafI
キャラ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;
}
}

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

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;
}
}
0816名前は開発中のものです。2015/08/10(月) 01:55:01.36ID:5Hk6N57m
>>806
>if(Physics.Raycast(transform.position,Vector3.down,out hit, 10 )){

out hit,

ここに空白が入っていても、構文エラーにならないの?
0817名前は開発中のものです。2015/08/10(月) 02:03:06.07ID:NcNOCafI
outは関数の中で値を入力して返すためのもの
この場合はRaycast関数の中でhitに衝突情報が入って返ってくるということ
いわゆる参照渡しみたいなもの
0818名前は開発中のものです。2015/08/10(月) 02:09:07.80ID:NcNOCafI
>>806
衝突自体していないのか、
Raycastは真だけどtagに別の値が入ってるのか、
別の物体とは衝突するのか
あるいは別の物体と先に衝突しているのか
その辺りを調べればいいと思う
予想では、別の物体が先に衝突してるんじゃないかと
その場合はレイヤーマスクの指定で解決するかも
0819名前は開発中のものです。2015/08/10(月) 02:23:40.44ID:FUa01Ekr
806です。

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

接地判定やcheck groundで検索してみたんですが、どうしても欲しい情報がないんですよね。
0820名前は開発中のものです。2015/08/10(月) 04:40:26.71ID:WlJ3IdsP
ブレイクポイントの使い方を覚えると捗るよ
0821名前は開発中のものです。2015/08/10(月) 12:06:28.96ID:FUa01Ekr
806です。
皆さん本当にすみません。ただ単にBlenderからインポートしたオブジェクトが大きすぎて、
Raycastが届いて無かっただけの様です。
サイズ調整したらちゃんと接地判定してくれました。色々おかしかった所の大半がリサイズで解決しました。

アドバイスいただいた皆さんありがとうございます。
0822名前は開発中のものです。2015/08/10(月) 14:22:11.83ID:mK6U9Zck
設計の問題かもしれませんが、ダンジョンで使ったオブジェクトやらスクリプトを町で使いまわしたいのですが
ゲームの状態(ポーズ画面とかインベストリ画面とか)を操作するスクリプトを変える必要があって、これを変えると他の部分も大量に変える必要が出てしまうので
シーンごとに同じ名前(スクリプト名やら)だけど内容は違うみたいなことが出来る方法ってありますか?
やりたいことは倉庫の実装でインベストリ画面を開いたままにしたいのですが、ゲーム状態のスクリプトのupdateの部分に色々かいてたりするので倉庫だったらリターンtかも出来なさそうですし・・・
この方法以外にもいいやり方あったら教えていただけると幸いです
0823名前は開発中のものです。2015/08/10(月) 14:26:44.54ID:v4fNYOjT
>>822
もしかして:インベントリー画面
設計が間違ってると思うぞ、パーツとしてのスクリプトやプレファブの独立性を高くしないとどんどん酷くなると思う。
0824名前は開発中のものです。2015/08/10(月) 14:33:12.42ID:mK6U9Zck
>>823
なにぶんゲームやらプログラミング初めてなのでいまいち設計がわからなく・・・
次からは気をつけようとは思うのですが(どう気をつけるべきかも分からないってのもありますが)
今回はちょっとこのままごり押しで行きたいと思うのです
この作品では倉庫と店さえできれば(二つともインベントリひらくだけ)あとはつくるものはほぼないのでこのままいけたらなとは思ってます
0825名前は開発中のものです。2015/08/10(月) 14:40:00.14ID:mK6U9Zck
うーんよく考えたらゲーム状態の上位にさらにゲーム状態くっつければいいような気もしてきました
updateの部分をダンジョンだったら動作するように変えて町かダンジョンかの状態も操作するような物にしてみます
0826名前は開発中のものです。2015/08/10(月) 15:04:38.80ID:sZwBkfWo
UNITYをRPGツクールかなんかと思ってないかw
スクリプト変えないで町を作ろうとか
0827名前は開発中のものです。2015/08/10(月) 15:13:10.50ID:mK6U9Zck
>>826
一番楽だろうなと思ったのはスクリプト名を同じものにして(他で名前変えるのが面倒だったので)スクリプトの内容は変えるという感じで
これが出来たら一番楽だなと思って質問しました
0828名前は開発中のものです。2015/08/10(月) 15:18:55.29ID:wojOIyQx
実際デリゲートとか使えばそれで済む話だしな〜
0829名前は開発中のものです。2015/08/10(月) 15:23:07.25ID:sZwBkfWo
今一何したいのか判らん>>823の言うとおり設計から考えなきゃだめなんじゃね

単にスクリプトのクラス名が衝突するのを回避したいならnamespaceで調べれば幸せになるれけど
0830名前は開発中のものです。2015/08/10(月) 15:32:53.53ID:mK6U9Zck
>>829
倉庫ではゲーム状態(ポーズ画面とかそういうやつ)をインベントリ画面に設定して他のボタンを押してもそこから動かないようにしたかった 
かつ、ダンジョンで使っていたものを再利用したかった
そこでゲーム状態操作するスクリプトをいじる必要があったのでダンジョン内では、アップデートの部分に例えばesc押すとポーズみたいな関数があり
その部分をシーンがダンジョン内だったら動くようにしました
仮に設計から考える場合はどうなるんですか?
0831名前は開発中のものです。2015/08/10(月) 15:37:25.40ID:sZwBkfWo
いやその説明で設計の助言できるのはエスパーかよほど似たような事してる奴だけだろw
0832名前は開発中のものです。2015/08/10(月) 16:59:55.36ID:KBTO4hmR
Unity5 Water4シェーダーについて質問です。

浅い川に使ってるのですが、屈折効果があわられません(水面下がうにゃうにゃ変形されるの)
色々試したのですが、ある程度(2m以上)深くすると効果が出ます。何処をいじればいいのでしょうか?
全てのパラメーターを極端な数値に設定して試したのですが、うにゃうにゃになりません。
もしかしてシェーダースクリプトそのものを変更しないとダメなのでしょうか?
0833名前は開発中のものです。2015/08/10(月) 17:44:03.89ID:7mxq3sqw
Instantiateで作ったクローンたちをCanvasの子にするにはどうすればいいんでしょうか?
ttp://blog.doinet.co.jp/?eid=1031771
ここのサイトを参考にしましたがうまくできませんでした・・・
0834名前は開発中のものです。2015/08/10(月) 17:50:16.51ID:Vfcir//D
>>833
http://docs.unity3d.com/ja/current/ScriptReference/RectTransform.html
にある SetParent 関数でどうぞ
0835名前は開発中のものです。2015/08/10(月) 18:02:19.58ID:KBTO4hmR
>>832
自己解決しました。
Editorスクリプトが入ってなかったので入れて、
NormalsとFadeをいじってる内にいい感じに屈折表現されるようになりますた
0836名前は開発中のものです。2015/08/10(月) 18:05:16.92ID:Vfcir//D
>>832
テストシーン作ってみたけど普通に動いてる気がする
2mてのがわからんけど、Daylight Water をy=0において、床をy=-0.0001でもちゃんと歪んだ
動作の感じからすると水面と川床の距離がカメラから見て小さくなりすぎると
Zの精度の都合で歪ませたテクスチャのレンダリングがうまくいかなくなってる

別な要因の場合だとわからん
0837名前は開発中のものです。2015/08/10(月) 18:07:56.00ID:Vfcir//D
あれ?違うシェーダーかな・・
0838名前は開発中のものです。2015/08/10(月) 18:28:21.51ID:wI7xw16W
Unity5.1.2のパーティクルについて質問です。

2Dゲーム内でスプライトをパーティクルとして利用する方法がわかりません。
2Dパーティクルの作成方法、または参考となるサイトなどありますでしょうか?

ttp://udasankoubou.blogspot.jp/2012/07/unity2d.html
↑のサイトを参考にパーティクルを作製しているのですが
バージョンの違いのせいか、黒い四角が表示されて終わります。
0839名前は開発中のものです。2015/08/10(月) 18:54:14.72ID:7mxq3sqw
>>834のSetParentを使ってみたんですがなぜかAn object reference is required to access non-static memberのようなエラーが出てうまくいきません
子(objという名のオブジェクト)のスクリプト内で以下のように書いているんですが、どういう記述にすればいいんでしょうか・?
obj2 = GameObject.Find("obj");
obj2.transform.SetParent (Canvas.transform,false);
0840名前は開発中のものです。2015/08/10(月) 18:55:43.91ID:ljA6WxLC
すぐに自己解決したりちょっと調べれば解るようなことでいちいち質問すんな
自分で解決する癖つけないと何時迄も初心者以下のまま
3日くらい悩んで解らなかったら質問しろ
0841名前は開発中のものです。2015/08/10(月) 19:06:00.20ID:7mxq3sqw
>>840
調べても解決しませんでした
逆にどう調べたら解決したんですか?
ほんとにググって解決するんですか?
0842名前は開発中のものです。2015/08/10(月) 19:15:47.52ID:Vfcir//D
>>841
しますよ
調べ方すら分からないくらいあらゆる知識と知恵が足りていないだけ
0843名前は開発中のものです。2015/08/10(月) 19:23:39.80ID:7mxq3sqw
>>842
じゃあどう検索して、どのサイトで分かるか教えてください。そこまで言うからにはあるんでしょ?
また、そうやって煽るのも、調べる力を低下させる原因になります、なのにそういって調べさせるのはよくないと思いますよ
0844名前は開発中のものです。2015/08/10(月) 19:43:59.77ID:v4fNYOjT
>>843
InstantiateしたのがGameObjectならtransform持っているし、transformもっていればSetParent出来ることは確実
つかなんでFindしてんだ?
Instantiateしたオブジェクトは何処行った?
0845名前は開発中のものです。2015/08/10(月) 19:45:52.51ID:F7WR9lyE
そもそもこれを正しく理解しないとな

GameObject retObj = (GameObject)Instantiate(プレファブ);

この retObj には、実体化したプレハブが入ってる。findコマンドは必要ない。

retObj.transform.SetParent (Canvas.transform ,false);

ただCanvas.transform自体、実体取れてない気がするがな。
悪い事言わんから大人しくチュートリアルやっとけ。
このレベルなら、ここで聞くよりよっぽど有益だぞ。
0846名前は開発中のものです。2015/08/10(月) 19:54:35.14ID:wI7xw16W
とりあえず全部の質問に「優しく答えてやる」のが
このスレの存在意義なんじゃないんでしょうか
それに納得できないならググるためのキーワードとかヒントを教えて欲しい
0847名前は開発中のものです。2015/08/10(月) 20:03:34.21ID:GfmM7YVS
こういうのをアスペって言うのかな
0848名前は開発中のものです。2015/08/10(月) 20:05:31.46ID:Vfcir//D
>>843
Unity5 親子関係 Instantiate
で出てきたヤツを上から順番に見て
関連する部分でしらないメソッドやクラスをさらに検索する
クラスならUnity本家のリファレンスも同時に参照し、関係するものを調べる

これだけできみらの抱える極々基礎の問題は大半が解消できる
「調べる」は基本的なことだから「調べさせるのはよくない」と言い出すくらいなら
もうプログラムやめていいよ
向いてない
0849名前は開発中のものです。2015/08/10(月) 20:09:51.32ID:7mxq3sqw
>>844
親がobjをInstantiateしてます、親にSetParentを書いてみましたがエラーが出てうまくいかず・・・
SetParentは子に書くんですか?でも子でもうまくいかなかった気が・・・
キャンバスに対してゲットコンポーネントでもしないといけないんですかね?
0850名前は開発中のものです。2015/08/10(月) 20:09:55.81ID:Vfcir//D
>>838
Unityはパーティクルが旧来ものとシュリケンと呼ばれる新しいものの二種類がある
検索先の日付を見て古いものは旧バージョンの情報だと思った方がいい
http://tips.hecomi.com/entry/2015/03/23/004733
リンク先の記事のリンク先やUnity公式を見ながらがんばれ
0851名前は開発中のものです。2015/08/10(月) 20:12:28.42ID:7mxq3sqw
>>848
なに勘違いしてるんですかね・・・調べさせるのは良くないとは一言も言ってないんだが?勘違いも甚だしい
未だに煽ってるしそっちこそもうプログラムやめていいよ
向いてない
0852名前は開発中のものです。2015/08/10(月) 20:13:26.12ID:v4fNYOjT
>>849
そのときのコードとエラーの写しを添えて質問すべきだと思うな
0853名前は開発中のものです。2015/08/10(月) 20:15:04.29ID:Vfcir//D
>>849
Canvasが取得済みのGameObjectなら
 obj2.transform.SetParent (Canvas.transform,false); 
これで問題ないはずだ
できていないなら隠してる情報をもっと載せるべき
エスパーじゃないからエラー行や変数がどうなっているかはわからない
0854名前は開発中のものです。2015/08/10(月) 20:43:11.24ID:Vfcir//D
とりあえずな
質問を書き込む前に
過去レスを遡って直接自分が抱える問題と関係ないものでも目を通して
質問を答える上で相手に伝えなければいけない情報の選別の仕方と
相手が理解できる質問の書き方を先人から学んでくれ

何をやりたいか、何が問題か、どういう記述をしたか、どういう状況なのか、どういう結果だったのか
返答の後に情報を後出ししなくていい様にちゃんと書いてくれ
0855名前は開発中のものです。2015/08/10(月) 21:04:57.79ID:wI7xw16W
>>850
ありがとうございます!いろいろ試してみます!
0856名前は開発中のものです。2015/08/10(月) 21:19:10.44ID:7mxq3sqw
エラーはこれです
error CS0120: An object reference is required to access non-static member `UnityEngine.Component.transform'

error CS1502: The best overloaded method match for `UnityEngine.Transform.SetParent(UnityEngine.Transform, bool)' has some invalid arguments

CS1503: Argument `#1' cannot convert `object' expression to type `UnityEngine.Transform'


親のソースはこれです
public GameObject obj;

void Update () {
Instantiate(obj,new Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity );
obj.transform.SetParent (Canvas.transform ,false);
}

objにはインスペクタで増やしたいオブジェクトを入れています
子に書いてゲットコンポーネントもするのが正解なのか…うーん・・・
0857名前は開発中のものです。2015/08/10(月) 21:37:06.46ID:+inM/XFW
程度の低い質問者に程度の低い回答者……これがUnityの質というわけか……
そりゃアセットおじさんさえも飽きていなくなるわな
0858名前は開発中のものです。2015/08/10(月) 21:37:43.37ID:v4fNYOjT
>public GameObject obj;
>void Update () {
>Instantiate(obj,new Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity );
>obj.transform.SetParent (Canvas.transform ,false); // エラーって全部この行ででてないかい?
>}
ここだけで間違いが3つ
1:Instantiateの戻り値を捨てている
2:obj.transform.SetParent〜 では元のPrefabへの変更になる
3:Canvas.transformなんてクラス変数は無いんじゃないかな?、Canvasを手当したGameObjectの参照の名前は何処?

public GameObject prefab; // objって名前はよろしくないので改名
public GameObject yourCanvasObject; // Canvasオブジェクトをinspectorで指定しておく
void Update() {
GameObject child = (GameObject) Instantiate(prefab, Vector3.zero, Quaternion.identity ); // GameObjectをInstantiateしても戻り値はobject型なのでキャストする
child.transform.SetParent(yourCanvasObject.transform, true); // instantiateしたchildオブジェクトの親を指定
}

とりあえずエラーのある行をゆっくり観察してエラーが持つ意味をちゃんと理解しないと先に進むのは難しいと思うよ。
0859名前は開発中のものです。2015/08/10(月) 21:42:14.98ID:TI2mbg4u
unity触るのやめてc#一通り勉強してこい
0860名前は開発中のものです。2015/08/10(月) 21:42:50.85ID:Vfcir//D
>>856
void Update () {
GameObject dupe = Instantiate(obj,Vector3(0.0f, 0.0f, 0.0f),Quaternion.identity ) as GameObject;
dupe.transform.SetParent (Canvas.transform ,false);
}
インスタンス化したものを子にしたいなら複製元をCanvasの子にしても意味が無いし
目的の挙動ではないはず
Canvasは目的のGameObjectが設定されているか?
0861名前は開発中のものです。2015/08/10(月) 21:44:33.16ID:Vfcir//D
あとあれだ
Update() にこの書き方で設置すると毎フレーム生成される
必要な数以上複製されない仕組みがいる
0862名前は開発中のものです。2015/08/10(月) 22:39:54.26ID:A8ecWOMC
>>854
横槍ですまんが、それは回答者として求めてはいけないものだろう。
回答するって事は、困ってる人を助けてあげたい優しさ持ってるんだから、何が分からないかから接してあげるべき。
そうでなければ、中途半端に答えず荒らさず傍観すべきかな。
0863名前は開発中のものです。2015/08/10(月) 22:46:13.76ID:WlJ3IdsP
>>841
何をどう調べたの?
それを教えてくれればあなたの調べ方の何が不味かったのかアドバイスできると思うよ
0864名前は開発中のものです。2015/08/10(月) 22:57:59.54ID:NcNOCafI
このInstantiateの使い方じゃ、サンプルの真似してボール転がす程度もやってないでしょ
ドットインストールのUnityの項目全部見てからにした方がいいと思うよ
0865名前は開発中のものです。2015/08/10(月) 23:26:41.94ID:7mxq3sqw
>>858
なんとかできました
どうもありがとう
エラーで検索しても見当違いのサイトしか出なかったです

>>864
それくらいやってます
0866名前は開発中のものです。2015/08/10(月) 23:49:17.42ID:euFex8cc
いつの時代も、作る道具は時代と共に良くなって来てるけど、最終的に使う側の問題だなー。
イメージが出来ても、実際のUI、システム構成で良く躓く。
そして、進んでない。
0867名前は開発中のものです。2015/08/11(火) 00:45:20.99ID:KPmARwdy
人口が増えればunityはもっと良くなるはず
人口が減れば終わる
0868名前は開発中のものです。2015/08/11(火) 00:50:12.02ID:VEjGaOYd
>>859
ほんまこれ
ちょっと基礎を飛ばし過ぎ

>>865
「それくらいはやってます」とのことだが、
理解は出来てないのが、はたから見て丸分りなんだよね。

いいからチュートリアルの1行1単語の意味が、他人にもしっかり説明できるようになるまで繰り返しやれ
親子関係程度でつまずいてたら何もできないぞ
0869名前は開発中のものです。2015/08/11(火) 00:59:16.87ID:VEjGaOYd
>>858
これは質問スレで指摘する事じゃないかもしれないけど、

> public GameObject prefab; // objって名前はよろしくないので改名
> public GameObject yourCanvasObject; // Canvasオブジェクトをinspectorで指定しておく

インスペクタ上からアタッチする変数は、ぱっと見て分るようにするべきと、俺は考える
例えばアンダースコアを変数名の先頭に付けて _prefab とか、guiAttachedCanvasとかね
絶対そうした方がいいと思うんだよな
0870名前は開発中のものです。2015/08/11(火) 01:10:31.95ID:n8SRK3/q
>>865
やってみます、だと思ってスルーしてたが、やった上でこれなのか
呆れました
0871名前は開発中のものです。2015/08/11(火) 01:35:46.90ID:vV/MFq+X
>>869
858書いたの俺なので一応
ネーミングルールはプロジェクトで統一するのは当たり前なのだけどそれはそれぞれやり方があるからあんまり質問スレの回答には充てたくなかったんだ。
俺の場合publicなGameObjectはInspectorで設定する物って言うルール使ってる(スクリプトから参照する奴はgetter/setterにするんだわ:そうするとInspectorから見えないってのを利用してアノテーションしないですむので楽)
例のがprefabなのは質問者のprefabが何者なのかわかんねーからなんだわ

あとUnityで使うときにpublic変数多くなる人には"_"付きの奴が外から設定とかって簡単に覚えられて良いかもしれないとは思った。
0872名前は開発中のものです。2015/08/11(火) 02:43:47.13ID:u1ppaVHy
C#スレでも出てるけど定数(const)を全部大文字で書くヤツは死ね
0873名前は開発中のものです。2015/08/11(火) 02:51:36.38ID:Sg1gK6uX
>>872
なぜに?
0874名前は開発中のものです。2015/08/11(火) 02:56:52.60ID:vV/MFq+X
>>872
コーディングルールで定数を全部大文字ってのは割と多数を占めるのであるが
0875名前は開発中のものです。2015/08/11(火) 04:19:27.80ID:u1ppaVHy
>>873
>>874
http://peace.2ch.net/test/read.cgi/tech/1437808445/351-356
http://peace.2ch.net/test/read.cgi/tech/1437808445/398
0876名前は開発中のものです。2015/08/11(火) 05:54:11.55ID:+Qtsm12Y
独自ルールだらけにならざるを得ない環境で細かい記述ルールを守っても意味ない
0877名前は開発中のものです。2015/08/11(火) 09:28:28.40ID:IM/MaimO
>定数を全部大文字
慣習とかC/C++からの移植とかあるからな。
WinAPI呼び出すときの定数とかね
0878名前は開発中のものです。2015/08/11(火) 09:33:43.82ID:vGey4TmF
仕事と趣味をごっちゃにしてる人がいるな。何で嫌なのかを示してから言えばいいものを。無駄に軋轢を産む。戦論したいの?他でやって。
0879名前は開発中のものです。2015/08/11(火) 12:44:54.97ID:VEjGaOYd
>>871
このスレでまともな人を見ると感動すら覚えるわw
アンダースコア付きのpublicは、是非色んな人にやって欲しい

>>872
明確な理由付けがある物に対して、
ぱっと見て正当性が分るだけマシと考えた方が、よっぽど健全だと思うけどな
あんたのその正義は、何のために振りかざしている正義なのかと
0880名前は開発中のものです。2015/08/11(火) 13:19:01.98ID:vV/MFq+X
>>879
MicroSoftのC#銘々ルールだったよ
C#見たいにリフレクションが完全に行える言語なら正しいと思う、なぜならエディタ上でキーワードがどのような識別子なのか判別つくから
UnityでしかC#使わないんで読んでも居なかったから僕はありがたいと思った
慣れるかと言われたらかなりイヤだけど
Erlangの変数名は大文字で始めるっての並に拒否感高いというか
0881名前は開発中のものです。2015/08/11(火) 14:05:38.79ID:Bpp5drd1
はぁ?
0882名前は開発中のものです。2015/08/11(火) 17:06:20.75ID:VNX+5OxD
>>875
定数名の付け方なんて好き好きでいいと思うが
プリプロセッサの話はC#では当てはまらないんじゃないかな
#defineって名前しか定義できないでしょ
0883名前は開発中のものです。2015/08/11(火) 17:18:32.63ID:vGey4TmF
外へ出た時(あればの話ね)自分も周りも苦労するから、大きいくくりでの慣習は周知使用しといてねって事だわな。
0884名前は開発中のものです。2015/08/11(火) 18:51:43.71ID:u1ppaVHy
>>879
何言ってるのかさっぱり分からん
0885名前は開発中のものです。2015/08/11(火) 21:02:00.09ID:Q3+lk5oS
大文字だの小文字だのと小さなこと(大きな文字?)にこだわって激論する姿が面白いな
俺? 俺は外へ出る可能性は万に一つも無いこともあって

変数名も関数名も 日 本 語 です
0886名前は開発中のものです。2015/08/11(火) 21:08:43.32ID:vGey4TmF
>>885
ザパニーズ、すんばらしぃ〜w
0887名前は開発中のものです。2015/08/11(火) 21:13:24.39ID:n8SRK3/q
一度だけ定数名を日本語にしてゲーム作ったことがあるが、自動補完すら面倒だったからやめたな
だが異端プレイが楽しいのは事実
0888名前は開発中のものです。2015/08/11(火) 21:26:02.22ID:Q3+lk5oS
せっかく機能(識別子に2バイト文字を使えるという仕様)があるんだから
使わないと勿体ないよね!

C#使いなら2バイト文字を使ってなんぼですわ
日本人なのにいつまで古くさいASCIIの仕様にしがみついてるのっていうね!
アメリカかぶれの気取ったプログラマは引っ込んでろっつーの、わははは!

……はぁorz
0889名前は開発中のものです。2015/08/11(火) 21:49:42.83ID:p4NyI3d+
BASICの昔から日本語ってのはあったが流行った試しがない
決して見やすくも分り易くもならず日本語入力する手間暇が無駄なだけ
0890名前は開発中のものです。2015/08/11(火) 21:50:49.43ID:vV/MFq+X
>>888
日本語識別子使うならT-codeとかの直漢入力使えないと話にならない気がする
ひらがなと一部の漢字だけ覚えたけどコレになれたら余所で困るという
0891名前は開発中のものです。2015/08/11(火) 23:22:31.35ID:VEjGaOYd
日本語入力は単純にタイピング数が多いから流行るわけないんだよなぁ
煩わしさが半端じゃない
変数・関数の最初10文字は英語とか縛れば、入力補完で使い物にはなるかも知れんが
0892名前は開発中のものです。2015/08/12(水) 00:25:00.88ID:RYecM/MT
ワロタ
0893名前は開発中のものです。2015/08/12(水) 05:22:53.00ID:ijryaY5a
ドッグファイトのようなゲームを作ってます
Terrainを生成して、そこに厚さ0.5unit程度の厚さの道路を敷きました。
いざ再生して、飛行機(高高度)からの視点にすると
道路がチカチカと点滅し、下のTrrainが見えてしまいます。
Terrainは縦横2000 高度600を300にフラットさせてから高低差をつけています。
何か対策はありませんでしょうか。
0894名前は開発中のものです。2015/08/12(水) 07:11:00.24ID:eJ+V4z3d
俺も日本語使いなんだけど
これひょっとしてWebGLでビルドできなくねえか?
0895名前は開発中のものです。2015/08/12(水) 08:00:31.01ID:myH8kDnk
>>894
Windowsの32bit版だと途中で止まるっぽい
64bit版だとちゃんと動くよ
ただFirefox以外まともに動かないのでWebGLってダメじゃね?
0896名前は開発中のものです。2015/08/12(水) 08:41:04.12ID:eJ+V4z3d
>>895
>ただFirefox以外まともに動かないのでWebGLってダメじゃね?
使ったことないので知らなかった・・・
ただ、プラグイン入れてない人がプラグイン入れろ!みたいな表示みると知らない人だとよくあるアドウェアトラップに見えそうなので
乗り換えようとか考えてた Firefox以外まともに動かないんだね・・・
0897名前は開発中のものです。2015/08/12(水) 08:59:04.00ID:qv5u6DLz
ChromeはNPAPI廃止したからUnityプラグイン動かないんだろ?困ったもんだねいつまでネイティブクライアントにこだわってるつもりなんだろう
プラグイン入れろ表示は自分のサイトに貼り付けるなら日本語で案内書いておけば紛らわしくないんじゃないのかね?
0898名前は開発中のものです。2015/08/12(水) 09:06:55.00ID:5r5YOrQr
Chromeって無駄にセキュリティウザイよな。
少し前の窓の社のDLできない問題の時だってIE使わないといけなかったし。
「危険なようですがDLしますか?」で確認してくれるだけでいいのに。
そこからDLして何かあってもユーザーの責任だし。
0899名前は開発中のものです。2015/08/12(水) 09:20:26.26ID:qv5u6DLz
まあもともと将来的には廃止するからPPAPIに移行しろってずっと言ってたんだけどね
Unity社の怠慢だね。はっきりとは言ってないけどPPAPI版出す気なさそうだし
0900名前は開発中のものです。2015/08/12(水) 09:45:26.74ID:eJ+V4z3d
>>891
途中まで識別子入れれば入力補完出るよ
一文字目の漢字いれれば出るから漢字の種類多い分こっちのが字数入れる必要ないし
タイピング数はどっこいくらいじゃないかな
0901名前は開発中のものです。2015/08/12(水) 10:20:32.80ID:l+g/6r30
シーン内でQualitySettings.SetQualityLevelでレンダリング品質を低くすると一部のメッシュの色がおかしくなって、
同じシーン内でレンダリング品質を元に戻しても色がおかしいままだったりするんだが、
レンダリング品質とかのグラフィックに関する設定を変更した場合はシーン切り替えした方がいいのかな。
0902名前は開発中のものです。2015/08/12(水) 10:57:53.89ID:oshFl73w
メニューの Assets->ReinportAll で直ったりしない?
テクスチャ品質が落とされて再コンバートされてないから、かも
0903名前は開発中のものです。2015/08/12(水) 11:30:40.77ID:l+g/6r30
>>902
エディタ上ではなくて、ビルドしてできたexeの実行中に起こってるんだ。
何かテクスチャの設定とかがおかしいのかな。
0904名前は開発中のものです。2015/08/12(水) 12:06:29.32ID:4FDqzop0
>>900
全角半角キー、F10、変換する時のスペースキー、
候補に出てこなくて何度か押すスペースキーの回数も考慮してるか?
特にF10は英字混ざるたびに押さないといけないし、
ストロークが長すぎるから無いな。Mac/Linux環境じゃ無理だし。
レス数が900を超えています。1000を超えると表示できなくなるよ。