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

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

■ このスレッドは過去ログ倉庫に格納されています
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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0159名前は開発中のものです。2015/06/28(日) 02:45:42.17ID:G42YtIrk
GameObject damegetextA = Instantiate (damegetext, Camera.main.WorldToScreenPoint (transform.position), Quaternion.identity)as GameObject;
damegetextA.transform.SetParent (canvas.transform);


このようにスクリプトを組んでUI上にテキストを作ったのですが、何故かプレハブ同じ文字(サイズ等)になってくれません。
何が行けないかわかる方教えていただけませんでしょうか
0160名前は開発中のものです。2015/06/28(日) 03:05:51.32ID:jKObmXcW
>>158
いや、それがPrefab化されていれば上書きするだけでいいんじゃね?
上書きはエクスプローラとかで上書きしてやればいい。
まぁ構造とか変わったらそれまでだが。
01611482015/06/28(日) 03:39:43.02ID:8j9DD3yr
本当にすみません多分これが最後になると思います
>>153の発展です
スクリプト内で取得したオブジェクトの子オブジェクトのコンポーネントの数値(ここでは岩の落下速度(droptime))をいじりたいです
instantiateで作成したオブジェクトのもので終了すると消えてしまうのでpublicで持ってくることはできず、複数作成したいのでFindのように名前で検索するのは使いたくないです
GetComponentInChildrenを使うのがよさそうと思いましたが、どうやらこれは自身の子から検索しているのかうまくいきません

いちおうスクリプトを貼っておきます

using UnityEngine;
using System.Collections;

public class rockpop : MonoBehaviour {
Animator anim;
public GameObject droprock;
public Transform rockroot;
public float droptime;
public float poptime;
IEnumerator Start()
{
yield return new WaitForSeconds(poptime);//poptime秒待つ
droprock = Instantiate(rockroot, transform.position, transform.rotation) as GameObject;//rockrootを複製し、そのGameObjectをdroprockに取得したつもり
anim = droprock.GetComponentInChildren<Animator>() as Animator;//rockrootの子オブジェクトにアタッチされたAnimatorを取得したつもり
anim.speed = droptime;//アニメーションの速さを調整
}

void Update () {
}
}
0162名前は開発中のものです。2015/06/28(日) 03:54:02.70ID:jKObmXcW
>>161
anim = droprock.GetComponentInChildren<Animator>();
で取得できないのはおかしいと思うがどうしてもダメなら
anim=droprock.transform.Find("rock animation").gameObject.GetComponent<Animator>();
とかでやるしかないな。
0163名前は開発中のものです。2015/06/28(日) 04:03:30.45ID:8j9DD3yr
>>162
ありがとうございます
でも下の方法でやってもこのようなエラーが出てしまいました
NullReferenceException: Object reference not set to an instance of an object
rockpop+<Start>c__Iterator8.MoveNext () (at Assets/rockpop.cs:15)
0164名前は開発中のものです。2015/06/28(日) 04:16:09.67ID:jKObmXcW
その15行目ってどこやねん…
droprock = Instantiate(rockroot, transform.position, transform.rotation) as GameObject;
の行だっていうならrockrootをセットしてないっつーだけではないか?
0165名前は開発中のものです。2015/06/28(日) 04:23:16.22ID:8j9DD3yr
>>164
ちゃんとセットされているはずです
15行目は//rockrootの子オブジェクトにアタッチされたAnimatorを取得したつもり の行です

疲れたので一旦寝てから確認してみます
0166名前は開発中のものです。2015/06/28(日) 04:38:10.86ID:jKObmXcW
その行か〜。droprockがちゃんとインスタンシエイトされてて参照も行われてて、ということであれば
transform.Find()が失敗してるのかもしれない。
でもその原因て名前が間違ってるとかしか考えられないんだよなぁ
0167名前は開発中のものです。2015/06/28(日) 05:47:58.80ID:w6WHgHbe
Instantiateは必ずしもGameObjectを返す関数ではないよ
0168名前は開発中のものです。2015/06/28(日) 06:13:32.25ID:8ILeGtx9
transform.FindInChildみたいなのがあるからdroproockのこからanimatorアタッチしてる子をみつけてgetcomponent
今のままじゃdropboxの子すべてからanimator見つけるみたいになってる

droprock.FindInChild(name).GetCoponemt<Animator>().speed=...
0169名前は開発中のものです。2015/06/28(日) 06:14:13.97ID:8ILeGtx9
あ、最後の行のコード多分transformが抜けてるから足しといて
0170名前は開発中のものです。2015/06/28(日) 08:00:47.58ID:8ILeGtx9
rockrootの型にTransformいれてるけど,instantiateはObjectからの継承メソッドでTransformをinstantiateしてもgameobjectにならない asでの変換でnullになるんじゃないか
0171名前は開発中のものです。2015/06/28(日) 10:37:44.88ID:2fV5hFlY
roockrootが何か別のGameObjectであるならTransformで退避せずにGameObjectで退避しとけ
座標のためだけならVector3で持っとけ
正直設計もおかしいしGameObjectとコンポーネントに対する理解も怪しいから
Unityの基礎の基礎をもう少し真面目に理解をする勉強をしろ

ここはお前のデバッグスレじゃねーから
0172名前は開発中のものです。2015/06/28(日) 12:39:40.82ID:5chdms1F
>>160
大感謝!
unityのエディターの中でやろうとしてもうまくいかなかった
unityの外で書き換えるって発想がなかった
ボーンに影響ないようなメッシュの小変更は問題ないことは確認できた
0173名前は開発中のものです。2015/06/28(日) 15:29:17.92ID:8j9DD3yr
お騒がせしました
どうにもうまくいかないのでとりあえず他の作業を先に進めることにします
ありがとうございました
0174名前は開発中のものです。2015/06/28(日) 16:36:10.59ID:6dFlcnlr
何度でも言うけど理解が及んでないと知るべき
そんでもってまずTutorial先にやれ
0175名前は開発中のものです。2015/06/28(日) 20:12:52.21ID:R0CXbJbR
チュートリアルやったって理解できない奴にはできないだろ
脳味噌の出来なんて人それぞれなんだから自分中心に考えすぎ
0176名前は開発中のものです。2015/06/28(日) 20:25:44.61ID:+OwvWdOS
理解できない奴はその時点で諦めるだろうし良いふるいじゃないか
0177名前は開発中のものです。2015/06/29(月) 01:22:10.60ID:6QO/Bjnt
それunityの思想に反しますやん
unityは自分でフレームワークつくれるような人達への作業軽減ではなく
ゲームづくりの間口広めるのが目的なんだし
0178名前は開発中のものです。2015/06/29(月) 01:30:31.06ID:ZVCKe42h
そういう思想で作られたUnityのチュートリアルやって理解できない人は
相当向いてないんだって感じはするけどねw
0179名前は開発中のものです。2015/06/29(月) 02:23:02.45ID:52vQe5dT
Window7 Unity5 64bitという環境で、vuforia4は動作しますか?
0180名前は開発中のものです。2015/06/29(月) 05:54:15.49ID:grmLEakj
何事にも最低限必要な能力というものはあるからな
0181名前は開発中のものです。2015/06/29(月) 10:21:04.55ID:UIR5dvqB
別に最初からスクリプト組むのがUnityの使い方ってわけじゃない
プログラミング能力は多分に基礎力に関わるから能力が足らないなら
当面は優秀な先人が作ったアセット組み合わせて作るとかしたほうが無難だな
チュートリアル理解できないレベルなら尚更
0182名前は開発中のものです。2015/06/30(火) 04:24:08.27ID:ANrX9KCw
能力無いなら最初からあるもので色々作ってみればいいのに
小学生が「大学生の勉強したいけどわからないから教えてください」
ってレベルの質問は萎えても仕方無い
今の実力じゃこういうゲームは作れないって認識するのも大事だと思う
0183名前は開発中のものです。2015/06/30(火) 06:53:16.57ID:OiIm23p7
Unityはツクール系のソフトじゃないからな。
やりたいことを実装していくと、必ずスクリプトが必要になる。
0184名前は開発中のものです。2015/06/30(火) 12:19:01.37ID:pZXtcSOm
そういう時は有料のツクールassetが山のようにあります
多少の出費で時間を買うか懸命な判断をしてください
0185名前は開発中のものです。2015/06/30(火) 12:59:43.29ID:ysxbxa7u
Unityエンジンの仕様や構造がわかってないとアセットすらちゃんと使えない

上にサンプルがいるじゃん
0186名前は開発中のものです。2015/06/30(火) 14:54:20.32ID:nWtdop3c
そもそもUnityはasset作って金儲けするツールやし
0187名前は開発中のものです。2015/07/01(水) 01:31:40.35ID:+bWFEBl5
Unityで敵キャラのパラメータみたいな数だけ多い情報を扱いたいときって、どうやって記述しておくのがオススメ?
エクセルにまとめてテラシュールウェアのExcelImporter使うのが考えうる真っ当な方法なんだけど
0188名前は開発中のものです。2015/07/01(水) 02:18:35.13ID:Zx3lUhw2
オブジェクトA
┗class TestA List<TestB> HMListというのがある (AwakeでDontDestroyOnLoad(this);している)
┗class TestB クラス変数が2個(int hpとint mp) (AwakeでDontDestroyOnLoad(this);している)

オブジェクトB
┗class TestC

という構成で、TestCクラス内で(オブジェクトAのTestAとTestBはゲトコン済みという前提で)

 for (int i = 0; i < 10; i++)
 {
  var t = new TestB();
  t.hp = 100;
  t.mp = 100;
  オブジェクトA.TestA.HMList.Add(t);
 }

とします。ここまでは問題ないのですが、これを行った後にシーンを変えるとHMListの中身が消える(ListのCount値はなぜか残っている)
のですが、なぜですか?
リスト内のインスタンスが消えているように思うのですが、TestAでDontDestroyOnLoad(this);しているのでインスタンスはシーンが変わっても
消えない認識なのですが・・・。すみませんが、間違いがありましたら教えて下さい
0189名前は開発中のものです。2015/07/01(水) 04:08:36.57ID:q71Fdpxs
10個のGameObjectを作ったつもりでいるなら間違ってるよ
HMListの中にはシーン移動前も後もGameObjectに紐づかないTestBのインスタンスが10個入っていると思う
0190名前は開発中のものです。2015/07/01(水) 04:23:30.72ID:Zx3lUhw2
>>189
「10個のTestBクラスのインスタンスをHMListに格納した」と思っています
というか、したい、というのが目的なんですが、よく分かっていません

完全にインスタンスが消えたならHMList.Countが10存在しないはずなのに存在している、
でもシーン変更後に
int x = HMList[0].hp;
とかすると取れない

まず現状認識が出来ないんです
どういう状態なのかだけでも知りたいのですが・・・。
0191名前は開発中のものです。2015/07/01(水) 04:26:58.38ID:Zx3lUhw2
すみません、なんとなく分かった気がします

>GameObjectに紐づかないTestBのインスタンスが10個入っている

つまり
「ゲトコンしたGameObject」.HMList[0]

としても、HMList[0]はゲトコンしたGameObjectとは何の関係もないから
int x = HMList[0].hp;とかしてもhpというフィールドが無い、という事でしょうか
0192名前は開発中のものです。2015/07/01(水) 05:18:53.41ID:Zx3lUhw2
設計がどうかはともかく、やりたい事は出来ました

ループ毎にInstantiateで空のGameObjectをインスタンス化(TestBクラスをコンポで持っている)、
そのGameObjectをゲトコンしてParamというフィールドに格納、
TestBのint hpとint mpを設定し、ParamをList.Add
以上を10回ループ

これで10個のGOに紐付けされたTestBインスタンスをHMListに格納でき、
シーンが変わっても消えない、取り出せるようになりました

>>189
ありがとうございました
0193名前は開発中のものです。2015/07/01(水) 09:03:48.33ID:gv1iBRs0
また来たのかよw
スルー推奨
0194名前は開発中のものです。2015/07/01(水) 17:06:52.36ID:M6XvoJKn
>>187
コンバータを書いてXLS->C#とかにする(ここで使うのはPerlとかRubyとかで良い)
C#だとAssetbundle化で困るときはJSONやBSONにしたりする

ちなみに自分はClojureのリテラル表記にしてる(Dictionary,Vector(Array),List(LinkedList),Set)とメタデータ表記ができるのでJSONよりも読み込んだあとの扱いが楽なんで
なお、ネット越しの読み込みとかを速くするならBSONが良いかもしれない
0195名前は開発中のものです。2015/07/01(水) 18:34:48.87ID:VvDmiigK
オンラインに関する知識が全くない状態です
photonで何か作ってみようかと思っているのですが、unity5.1でオンラインゲーム作る機能って変わったんですかね?
まだunity5.0で、アップデートして作った方がいいのかどうかわからないです。5.0で作ってもおkですか?
0196名前は開発中のものです。2015/07/01(水) 19:06:09.42ID:KB4J0h9p
文献は4のが多いけど結局5にするんだったらまっさらな状態で5覚えた方が後々覚え直さなくていいし4だとこうだけど5だとこうしないといけないってのがわかるから解決力付くだろと思って5にした俺
0197名前は開発中のものです。2015/07/01(水) 21:30:31.08ID:de/hrREC
>>195
クライアントだけ使うなら差はなかった希ガス
Plusはちょっと違いあるんだけど、スマホ用に作らないなら気にしなくていいよ
0198名前は開発中のものです。2015/07/01(水) 23:03:15.85ID:+bWFEBl5
>>194
最終的にはSQLでウェブ経由してデータ持ってこれるのが理想だし、
jsonから配列作ってくれるクラスも拾ってあるので、、
その辺りの情報はやはりxlsに収まる形でまとめていくのがよさそうですね
リテラル表記も気になるところだけど今回は保留
0199名前は開発中のものです。2015/07/02(木) 05:11:27.90ID:0FVq/sU/
すみません質問ですが、
キューブ状の箱に窓が開いていて、窓からは中にある球体の表面の一部が見えるのですが、
球体の大きさは箱よりはるかに大きく、なおかつ箱からハミ出ないものを作りたいのです。
球体にはテクスチャがあり、ドラッグでトラックボールのように回転させたいです。
2Dでいうところのマスクのようなことができれば実現できそうなのですが、
Unityでそういうことはできるのでしょうか?
または別の解決策などありますでしょうか?
0200名前は開発中のものです。2015/07/02(木) 05:56:41.41ID:9mmQht1k
>>199
球を別のカメラで撮影して、その映像を立方体に貼り付ける。ってのがRenderTextureでできるよ(読解あってるかな)
0201名前は開発中のものです。2015/07/02(木) 06:31:39.95ID:0FVq/sU/
>>200
なるほど、窓は穴ではなく映像を映す平面にして
窓を覗くカメラの位置/角度と、球体を映すカメラの位置/角度をピッタリ合わせて、騙し絵のように見せるってことですかね?
概念はわかりましたのでチャレンジしてみます、ありがとうございます!
0202名前は開発中のものです。2015/07/02(木) 07:44:26.97ID:9mmQht1k
>>201 おお、よかった。
球体のドラッグ回転を「球体を撮るカメラの周回転」とすればいいんじゃないかな
ただ立方体の、たとえば前後左右の面が「窓」なら、4つの別カメラが要るね
0203名前は開発中のものです。2015/07/02(木) 11:24:48.59ID:GsASYuwZ
窓付き箱の中に窓から見えてる球の一部、というか見たまんまのものを作って
回転でまわる分だけ球のUVをスクロールさせるだけいいと思うんだが
0204名前は開発中のものです。2015/07/02(木) 12:05:17.42ID:9mmQht1k
>>203
あーこっちのほうが全然スマート…! 球が動くことはないのかー
0205名前は開発中のものです。2015/07/02(木) 12:46:54.75ID:+6D1BM3E
>>199
自分でシェーダー書けるのであればステンシルマスクを使うのが楽だと思います。
http://docs.unity3d.com/ja/current/Manual/SL-Stencil.html
02061992015/07/02(木) 14:29:24.95ID:0FVq/sU/
>>203
オブジェクトとしてそもそも球体全体を作らないということでしょうか?
球体は地球儀のようなテクスチャで、上下左右にドラッグしてぐりぐりさせたいのですが、
球体全体を作らない場合に、継ぎ目をちゃんと合わせられるでしょうか?

>>205
なんだか難しそうですがマスクの概念でもできそうですね、勉強してみます
0207名前は開発中のものです。2015/07/02(木) 14:50:55.61ID:GsASYuwZ
>>206
・普通に球でテクスチャをマップして作る
・見えない領域の頂点を削除
・箱に収まり窓から見える位置にそれぞれの球面を移動
これでできるでしょ
そもそもだけど完成予想図がイマイチわからんから
こっちも想像でこたえている、という前提を忘れないでね
0208名前は開発中のものです。2015/07/02(木) 18:45:52.17ID:cd742j2u
photonのCCUについて質問なのですが、

>CCU(Concurrent Users) とは、ゲームにおいて同時接続ができるユーザー数です。

とありますが、「同時接続」とはどういう定義でしょうか?
2人対戦型ゲームで、1つのルームに2人接続されたら開始されるゲームの場合は
「同時接続数は2」という事ですか?

それともフロアに何人入れるか(ゲームプレイは関係ない)?という意味でしょうか?
もしそうなら無料プランのCCU20っていうのは本当にお試し程度のもので、実用できる
プランではないという事ですよね?
0209名前は開発中のものです。2015/07/03(金) 09:16:18.22ID:8OM1Dhcw
>>208
lobbyの接続数であってるはず
仲間内で楽しむくらいの数だよね
ロビーがほぼ意味無いので、同時プレイヤー20で終わりということだね

photonについてはfacebookグループにGMOのひとが答えてくれるので
そっちが詳しく教えてくれるよ
0210名前は開発中のものです。2015/07/03(金) 14:36:01.18ID:1WxMzJv0
>>209
ありがとうございます

一週間くらいPUN弄ってて、やりたいオンゲもできたし
PUNの仕様も分かりやすくて良いなと思ってたんですが、まさか20人程度しか
接続できないなんて・・・

PUN使ってオンゲ作ってる人少ないんですかね
お金をかけず、かつ数千〜数万単位の接続を考慮する場合って
PUNではなく自前でサーバ用意してnode.js使う必要があるんでしょうか?
0211名前は開発中のものです。2015/07/03(金) 16:00:58.76ID:1LBsfv/s
自前でサーバ用意したらお金かかるじゃん
保守大変じゃん
0212名前は開発中のものです。2015/07/03(金) 16:40:50.84ID:39624fgJ
お金かけずに数万の接続処理したいという発想が意味わからん。
それだけのユーザーに迷惑かける可能性があるんだしそれくらいけちるなよと思う。
0213名前は開発中のものです。2015/07/03(金) 16:44:09.51ID:e5zMQYTu
「お金をかけず、かつ数千〜数万単位の接続を考慮する」とか言ってる時点でお察しなんだよなぁw
0214名前は開発中のものです。2015/07/03(金) 17:31:03.78ID:/Be8+OaO
レス文体だけは丁寧だけど中身はちぐはぐな最近よく来る例の子でしょ
0215名前は開発中のものです。2015/07/03(金) 18:35:29.87ID:BUbt07lB
実際やってみると同接20って1日100ユーザーくらいいけるし
1000枚くらい売れたりしたら1.7万払って
500同接買えばいいんじゃない?


自前でもっとサーバ側書くなら、parce.comならもう少し無料枠大きいけど、通信容量や速度、なによりサーバ側コードの記述が段違いだよ
0216名前は開発中のものです。2015/07/03(金) 18:41:04.14ID:BUbt07lB
ちなみにphotonの1万同接、月に400万ユーザー月33.7万円っての自前で構築すると
サーバだけで月20万円、構築費用はテクにもよるが…どこかの会社に依頼しても100マン以下は無いだろうな
0217名前は開発中のものです。2015/07/03(金) 18:48:05.24ID:BUbt07lB
いいこと考えた
自宅に要らないWindowsがあるならphoton server を建てるといい
自鯖なら100同接まで無料だし
ポート開けたりもしかしたら固定IP取るの大変かもだけど無料で100ccuならデイリー8000人くらいいける

なおレンタル鯖だと月に3000円からの模様
0218名前は開発中のものです。2015/07/03(金) 19:16:40.06ID:1WxMzJv0
>>215
>同接20って1日100ユーザーくらいいける

そうだったんですか・・・
勘違いしていたようです、申し訳御座いませんでした
0219名前は開発中のものです。2015/07/03(金) 19:23:23.38ID:gN2xIQc5
冗長性確保するコストを考えたら自鯖はつらいわ
0220名前は開発中のものです。2015/07/03(金) 22:39:40.37ID:Tbi6Gbfx
素人には見当付かないけど一万同接あるコンテンツってかなりすごいよね?
一万同接あるコンテンツがマネタイズされた時、いくら程なんですかね?その、収益的にw
0221名前は開発中のものです。2015/07/03(金) 23:25:42.99ID:7dQagYwU
ぼくにもそんな接続してもらえるアプリのアイデアください
0222名前は開発中のものです。2015/07/04(土) 02:02:04.85ID:r+Gy3W2P
同時接続1万ってアクティブユーザーが10万人くらいいるって事だろ
その規模のアプリ作る人間のする質問じゃ無いな
0223名前は開発中のものです。2015/07/04(土) 02:49:03.56ID:f4Q3vsDP
月1000円くらいで借りれる安いレンタル鯖だと、同接50もいったら落ちそう
まあアレはひとつの鯖に20-50人くらい同居させてるから全体で200同接とかそんな感じ

それに読込のときだけ通信するwebサーバと
つねにデータ送りまくるゲーム鯖と別物だしね
0224名前は開発中のものです。2015/07/04(土) 05:22:29.23ID:UqEwBzv0
今Elixirつかってロビーサーバ書いてるから半年位後にGitで公開できたらいいな
RDB負荷除けばChatとロビーだけで同時接続2万をEC2のMicroインスタンスでまかなえるのは負荷試験でチェック済みなんだ
0225名前は開発中のものです。2015/07/04(土) 15:03:35.02ID:bvHttZCu
最近C#勉強中の俺には意味不明なレベルの流れw
やっぱり持ちは餅屋だよな〜、ドラクエとかでも転職すると微妙なことになるし
0226名前は開発中のものです。2015/07/04(土) 15:11:08.65ID:31uFxRle
C#なんか勉強しても無駄だぞ
Unityで使うC#なんてGetComponent<>();覚えておきゃおk
0227名前は開発中のものです。2015/07/04(土) 15:18:25.51ID:kH0hhukh
たまに来るunityのC#はカスってレスしてくる人は何が目的なの?
unityよりネイティブやってる自分たちが偉いとか凄いという選民主義の人?
0228名前は開発中のものです。2015/07/04(土) 15:26:01.62ID:ZVUl7lof
Unity流のC#の使い方があるから、UnityだけでC#使うならUnity上で勉強したほうがはやいと思うよ。

もちろんC#を勉強するのも無駄ではないと思う。
0229名前は開発中のものです。2015/07/04(土) 15:26:33.47ID:31uFxRle
何を誤解してんだ、逆の事言ってるのに
0230名前は開発中のものです。2015/07/04(土) 15:28:38.53ID:31uFxRle
>>229>>227宛ね
0231名前は開発中のものです。2015/07/04(土) 15:29:10.44ID:TEc/4w+I
まぁ実際C#というかコードベースで設計すると、unityで使う時に痛い目みるし、気持ちわりーと思いながらもUnity流に合わせなきゃいけない場面はあるよな
0232名前は開発中のものです。2015/07/04(土) 16:26:44.16ID:Lu6BZ8Vo
なんか癖でエンジン側のコード制約とロジック分けようとしちゃってるんだが
遅々として進まないのはそのせいなのかやる気の問題なのか
0233名前は開発中のものです。2015/07/04(土) 17:37:13.14ID:UJRa789r
すみませんちょっと質問なんですが、OnTriggerEnter2Dを使っていた時は、物体が同時に当たっても、一回の処理だったんですが、
OnTriggerEnterを使い出したら、敵を撃った時のポイントが同時に当たった回数分加算されるようになっちゃったんですが、これの回避方法ってありますか?
0234名前は開発中のものです。2015/07/04(土) 18:31:02.54ID:iorF/M6u
Uguiでprefabからダイアログボックスぽく作って、instanateして画面のCanvasの上に表示されるようにしたのですが、この時、ダイアログの後を触れないようにするのはどうしたら良いのですか?
0235ss-2015/07/04(土) 20:07:06.86ID:v77ABms+
UnityのC#変だよなー
もともとC#やってればやってるほど違和感
0236名前は開発中のものです。2015/07/04(土) 20:20:07.76ID:iorF/M6u
Interactive = false
でやるのが良さそうですね。
これでちょっとやってみる。
0237名前は開発中のものです。2015/07/04(土) 23:11:40.64ID:m6qGisVe
初心者過ぎて笑ってしまうかもしれませんが、キャラクターを床に置く方法を教えてください
http://iup.2ch-library.com/i/i1461463-1436018592.png
この画像の通りにUniti-Chanを床よりちょっと上に配置しているのですが、動かすと床を突き抜けて落ちて行ってしまいます
一方の奥にある立方体はちゃんと床に乗っかります
どこの辺りが変なのでしょうか?
0238名前は開発中のものです。2015/07/04(土) 23:22:32.72ID:iorF/M6u
コライダが付いてないだけじゃないの?
0239名前は開発中のものです。2015/07/04(土) 23:53:13.75ID:m6qGisVe
>>238
追加したところ立てました
ありがとうございます
0240名前は開発中のものです。2015/07/05(日) 02:32:55.12ID:IFXl70lt
unity本スレから誘導されてきました。

blenderで3Dモデリング完了
unityでインポートしたがシェーダー関連が引き継げないことを知る
仕方ないのでShader Forgeをアセットストアで買う
チュートリアルやサンプルが少なすぎて使い方がいまいちつかめない

という状況なのですが、チュートリアル以外の動画が探しても見つからず、
参考になるようなデータも見つからずに困っています。
blenderで適用したシェーダーもしくは、Shader Forgeの使い方や応用を
乗せているサイトや動画などをお持ちの方、教えてください。
0241名前は開発中のものです。2015/07/05(日) 02:53:13.55ID:lE3CLu/W
Blenderに限らずMayaとかでもカスタムしたようなシェーダは引き継げない。
FBXはLambertとPhongシェーダしかサポートしていない。
ShaderForgeに関しては公式のドキュメント見てわからんとか言われると何がわからないのかがさっぱりわからん
Blenderでカスタムシェーダ組んでる人間なら「見りゃわかる」レベルだろう
http://www.acegikmo.com/shaderforge/nodes/
0242名前は開発中のものです。2015/07/05(日) 13:38:15.06ID:V0HHXtNH
アセっトやプラグインを追加するとき、
フォルダ構成を確認されますが、
なんのアセっトが何を追加したかわからなくなります。

解決方法ってありますか?
0243名前は開発中のものです。2015/07/05(日) 13:47:46.56ID:XWYklhdH
単にフォルダの問題じゃねえか
何インポートしてるかも判らんような奴は何も無いとこにインポートしろ
もしくは既存のをどっかにまとめておけ
0244名前は開発中のものです。2015/07/05(日) 14:13:24.89ID:f484USh4
識別したいのならラベル付けるとかだな
つかググれば直ぐ判るようなことを何度も何度も、かまって君か覚え始めて嬉しいリア厨か
まあ相手するほうも悪いんだけど
0245名前は開発中のものです。2015/07/05(日) 14:18:35.87ID:lE3CLu/W
もはやUnityとか全く関係ねぇw
デスクトップがちらっかっちゃうんですけど〜、
みたいな話だw
0246名前は開発中のものです。2015/07/05(日) 16:55:33.22ID:hnU3dcID
本を買ってみたんだけど、普通のプログラミングと違って動画じゃないとわかりづらいな
0247名前は開発中のものです。2015/07/05(日) 17:10:54.68ID:eh2c4UeN
頭が悪いのを本のせいにするなゴミ野郎
0248名前は開発中のものです。2015/07/05(日) 17:43:23.61ID:hnU3dcID
頭が良い人は英語のチュートリアルを見ればいいんだしさ
本を出す人は高卒の俺にも分かるように書いてくれ
たのむわ
0249名前は開発中のものです。2015/07/05(日) 18:00:46.72ID:MGd2QwN2
趣味の範疇なら本で充分だしな
02502422015/07/05(日) 18:48:02.97ID:EQzGRDh/
>>243-245
勝手にフォルダ構成変えて良いんですね、わかりました。
初歩的なところですみません。でもありがとうございます。


あと、もう1つすみません。
現時点で最新の OSX、XCODE、UNITY にバージョンアップしてやっているのですが、
UNITYエディタ上では普通に実行できるのですが、
XCODEから実機に転送するためビルドすると、
http://forum.unity3d.com/threads/il2cpp-universal-crash-my-game-after-splash.333626/
のURLの
「 KeyNotFoundException: The given key was not present in the dictionary. 」
のエラーと全く同じエラーが出ます。
(コピペしてDIFFしましたが、全く同一でした)

この回答してるおじさんが「調査します」で終わったままということは、
未だに解決されてないってことでしょうか?
エディタ上では動くアプリを、なんとかiPhone実機で動かしたいのですが、、、
0251名前は開発中のものです。2015/07/05(日) 18:56:52.78ID:KX8vXO5F
いやフォーラムで聞けよ
その後どうなったかを別の場所で聞くなよ
0252名前は開発中のものです。2015/07/05(日) 19:10:05.29ID:V0HHXtNH
>>251
初心者&無料版ユーザなので、ちょっと敷居が高くて…
英語ってのも…
0253名前は開発中のものです。2015/07/05(日) 19:26:41.77ID:EF85BxK4
次のパッチで直すと書いてるじゃろ
0254名前は開発中のものです。2015/07/05(日) 22:37:05.92ID:46sKisCO
>>242
Unityはmetaファイルを使って内部的なAssetの管理をフォルダに残す様になってる
ここで重要なのはMetaファイル(テキストベースで見たとき)に書かれたUUIDでファイルの管理がされている事だったりする。

実はAssetを購入したり公開パッケージを入れた時に自分の意にそぐわないフォルダ階層をもっていたらUnity上でFolderを新しく作ってから移動しても、Assetのバージョンアップ時には移動先のファイルが更新される。
試したければ自前のアセット(適当出良い)をExportして試してみれば良い
0255名前は開発中のものです。2015/07/05(日) 22:56:45.12ID:ckXc8rGQ
unityeditorの中では移動おkはマニュアル等によく書かれてるから初心者でも知ってると思うけど
一部特殊なフォルダがあるから気を付けること、ちょっと情報が古いけど↓とか

Unityの特殊フォルダと各々の役割(追記版)
ttp://tsubakit1.hateblo.jp/entry/20131028/1382965930
0256名前は開発中のものです。2015/07/05(日) 23:17:02.56ID:harHMpfJ
質問です
子オブジェ(child_1〜child3)をもつゲームオブジェクト(p)をp[1],p[2]
としてInstantiateで複製しました。p[0]はステージ上に置かれた複製元としました。

そのp[0]〜p[2]の子ゲームオブジェクトを取得したいのですが
for(int i=0,i<3;i++){
if(i==0){
p[i]=GameObject.Find("p");
}else{
p[i]= Instantiate (p[0])as GameObject;
}
for(int j=0;j<3;j++){
c[i,j]=GameObject.Find(p[i]+"/child"+(i+1));
}
}

とするとエラーになります。p[0]のchild1,p[1]のchild2は個別に使いたいのですが
どうしたらよいでしょうか。。
0257名前は開発中のものです。2015/07/05(日) 23:26:43.21ID:HlKuKgj4
>>256
なんてエラーはいてるのかくらい書けやw
まぁ多分
c[i,j]=GameObject.Find(p[i]+"/child"+(i+1));

c[i,j]=p[i].transform.Find("child"+(j+1).ToString()).gameObject;
とでも書けばいいんだろうが。
childもchild_1とchild3と書き方が違うがどっちなんだよw
0258名前は開発中のものです。2015/07/06(月) 00:24:15.63ID:o7KesfxR
>>257
null reference…なエラーでした。child_でした。いろいろすいません
おかげさまでnullエラーはなくなりましたmOm
ありがとうございました・
■ このスレッドは過去ログ倉庫に格納されています