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

【3Dゲームエンジン】Unity質問スレッド6

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。2013/10/12(土) 07:10:26.04ID:L8N2fF4y
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■前スレ
【3Dゲームエンジン】Unity質問スレッド5
http://toro.2ch.net/test/read.cgi/gamedev/1372099904/

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

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0947名前は開発中のものです。2013/12/16(月) 01:49:12.38ID:ldgmYuFE
違和感がするに違和感がする
0948名前は開発中のものです。2013/12/16(月) 05:18:27.96ID:9HkEvBJt
アセットストアで無料の物だけ表示ってできない?
0949名前は開発中のものです。2013/12/16(月) 08:13:24.44ID:K7bKZ2dS
>>933
streamingAssetsPath含め、パス系の定数は環境によって違うよ、
一度環境ごとにDebug.Logで出力してみると何か分かるかも
0950名前は開発中のものです。2013/12/16(月) 08:17:09.17ID:K7bKZ2dS
× 環境
○ Win、Android、iOS等のプラットフォームによって
0951名前は開発中のものです。2013/12/16(月) 09:49:16.45ID:iclcwwD0
>>949
定数じゃないよ
定数に代入したら泣く
0952名前は開発中のものです。2013/12/16(月) 09:55:41.84ID:5vTVfkA+
>>946
スクリプトは配置と言うか、オブジェクトへのアタッチ。
GUI上での操作過程はスクリプトを配置してるように見えるかもしれないけど、要はFlashで作成してる時みたいな感覚。タイムラインは無いけど。
0953名前は開発中のものです。2013/12/17(火) 00:24:03.66ID:h0XSWdro
Unity-chan とやらはキャラデータ配布するだけの企画なの?
0954名前は開発中のものです。2013/12/17(火) 00:32:51.63ID:jk8yfv7J
Windows8の今出しょう子のパクリでコンテストやるんだおr
0955名前は開発中のものです。2013/12/17(火) 01:35:55.89ID:pfqFjQrK
剣心こんなところで何してるの
0956名前は開発中のものです。2013/12/17(火) 02:10:36.97ID:jqd54e/A
Unityって物理シミュレーションには不向きですか?
0957名前は開発中のものです。2013/12/17(火) 02:42:19.48ID:xpULD92j
>>953
ゲームに必要そうな、あらゆるモーションデータが欲しいなw
0958名前は開発中のものです。2013/12/17(火) 10:17:16.01ID:voTbfTf1
どんなモーションなのかちょっとおじさんに見せてくれないかな
0959名前は開発中のものです。2013/12/17(火) 11:30:51.47ID:xpULD92j
ちくわは外せない
0960名前は開発中のものです。2013/12/17(火) 13:13:40.82ID:VCbDxXI1
エロゲーモーション集だしたら売れるかな
0961名前は開発中のものです。2013/12/17(火) 19:07:16.72ID:KVuY1GMY
うーん微妙だろうねw
0962名前は開発中のものです。2013/12/17(火) 19:15:22.12ID:g2+9I220
その手のはカスタム少女で需要満たされてるだろ
0963名前は開発中のものです。2013/12/18(水) 03:07:46.31ID:R/9Rqs1Q
別クラスから呼び出した関数の中でtransformを参照しようとしたらエラーが出るんですが、
何が問題なのかを教えていただきたく。
NullReferenceException: Object reference not set to an instance of an object

単純にC#の初歩的な手続きミスな気がしますがスマートな解決法がよくわからず

■ファイル1
public class Hoge1 : MonoBehaviour{
Hoge2 hoge2;
void Start ()
{
hoge2=new Hoge2();
hoge2.hogehoge2();//ファイル2のhogehoge2( )を呼び出し
}
}

■ファイル2
public class Hoge2 : MonoBehaviour{
public Transform tr;
void Start ()
{
tr = GameObject.Find ("player").transform;
}
public void hogehoge2{
//ここでTransform tr=GameObject.Find ("player").transform;と宣言するとエラーは出ないがよく使う関数なので事前にキャッシュしときたい
a.transform=new Vector3(tr.position.x,tr.position.y+1.8f,tr.position.z);;//ここでエラーが出る!!
}
}

※ファイル1、2の両方とも同じ空のゲームオブジェクトにAddしてます
※GameObject.Find ("player").transformと書いてますがthis.transformのことです、
  他のクラスから呼び出すとthisの位置が不明になるのかと思いわざわざこう書いてます
0964名前は開発中のものです。2013/12/18(水) 08:49:59.32ID:627x0QGX
いってることはよくわからんが
モノクラスに必ずあるから
gameObject.transform.positionにでもいれとけ
thisなんて自分をまるまる引数にメソッド呼び出す時か、同じ変数名を区別する時以外まずないからとりあえずthisつかわないで実装してみては
0965名前は開発中のものです。2013/12/18(水) 09:30:49.82ID:lO7Taoq8
Start関数ってスクリプトが割り当てられたプレハブのインスタンス生成後に呼び出されるんじゃなかったけ?
hoge2=new Hoge2();してもHoge2クラスのStart関数呼び出されないから、trがnull。

とかかな。
0966名前は開発中のものです。2013/12/18(水) 09:44:20.31ID:SAo3QTEk
>>963
ファイル2のStartをAwakeに変える
0967名前は開発中のものです。2013/12/18(水) 09:47:20.50ID:SAo3QTEk
何でかはAwake、Startが呼ばれるタイミングを公式リファレンス見れば分かる
0968名前は開発中のものです。2013/12/18(水) 12:17:03.99ID:vHQdqlj9
a.transformって

aって何処から拾ってるのさ?
0969名前は開発中のものです。2013/12/18(水) 15:32:02.04ID:GLj8cp/+
ひとつ質問があるんだが
今公式のサンプルのMecanim Example Scenesってのを勉強してて一番ベーシックと思われる
animator controllerというシーンの中身を見てるんだが操作キャラのU_Character_REFは一体どうやって
移動させてるんだろうか
キャラについてるIdlerunjumpというスクリプトを見ればLayerというanimatorに
animator.SetFloat("Speed", h*h+v*v);でスピードのパラメータを渡してることがわかるんだが
それがどうして実際のキャラ移動につながるのかがわからない
キャラにcharactercontrollerもついてるからそれを動かすためのコードが必要だと思うんだけど
0970名前は開発中のものです。2013/12/18(水) 17:06:13.42ID:tcKd4IC8
モーションから情報とってる
0971名前は開発中のものです。2013/12/18(水) 17:23:12.62ID:GLj8cp/+
>>970
ありがとう
あらかじめ動き込みのモーションを作ってたってことか
モーションはモーションで作って動きはスクリプトで付けてると思い込んでたから混乱した
そっちの方がわかりやすい気がするんだがまぁいいか
0972名前は開発中のものです。2013/12/19(木) 02:24:07.48ID:RUlwrn/m
y=50に水面があるとしてその上を船で移動させたいのですが
どのように移動させるのが良いでしょうか
y=0にはterrainがあって所々水面より上に突き出た島があります

船の座標をy=50で固定させるとterrainと衝突したときに船がterrainを登ってしまいます
09739632013/12/19(木) 02:47:34.07ID:r/GhXUyR
>>964-968
帰ってきたんでやってみましたが結論から言うと全部あかんかったですw

で、なんとなくファイル2のpublic Transform tr;宣言の頭にstaticつけたらこれでいけました。

カラクリがよくわからないのは自分の不勉強のいたすところ。
みなさんありがとうございました
0974名前は開発中のものです。2013/12/19(木) 08:13:36.53ID:xABdv4tl
あかんのはお前であって、
試してダメだったんじゃなくて、説明能力と理解力がないから
どれも正しく試せませんでしたと言って欲しいもんだわ
0975名前は開発中のものです。2013/12/19(木) 09:14:35.93ID:Jo0zMPzW
>>973
ちゃんと見てないけど、その対処間違ってると思う
0976名前は開発中のものです。2013/12/19(木) 10:55:01.71ID:Wcrkjt/N
カメラを常にプレイヤーの後ろに置こうと思うのですが
プレイヤーが横を向こうと回転する時にカメラは回転しつつ、プレイヤーの後ろに行くようにポジションを動かさないといけないのですが、どうすればいいかわかりません
誰か教えてください
0977名前は開発中のものです。2013/12/19(木) 11:52:40.23ID:TaPnGGOE
「うんこした後パンツはいたらパンツが汚れます。どうしたらいいですか?」
「けつふけよ」
「ウォシュレットつかえ」
「どれも効果がありませんでした。
なんとなくバナナを食べたら解決しました。有難うございました。」
0978名前は開発中のものです。2013/12/19(木) 12:18:33.53ID:TaPnGGOE
>>976
カメラをプレイヤーの子にする
なめらかに動かしたければ、その子をゴールとして補間で移動させる
0979名前は開発中のものです。2013/12/19(木) 12:24:05.74ID:Wcrkjt/N
>>978
できました
ありがとうございます
0980名前は開発中のものです。2013/12/19(木) 12:28:10.30ID:OWNeQyH0
質問の内容見てるに
初心者すぎて何が判らないか分らないんだろうな・・・

基本的にunityのスクリプト機能はMonoのC#、javaを魔改造したもので
Monoはオープンソースの.NET Framework環境

だから.netのC#かjavaをしっかり勉強してからunityで「追加」されている
クラスの機能を学習しないと、本当の理解は出来ないよ
0981名前は開発中のものです。2013/12/19(木) 14:45:42.65ID:Wcrkjt/N
何かヒエラルキー見ててこれって嫌だと思ったのでスクリプトでカメラをプレイヤーの後ろに持ってくる方法は無いですか?
0982名前は開発中のものです。2013/12/19(木) 15:07:16.55ID:wB6LFSwX
>>981
カメラをプレイヤーの後ろにもっていくスクリプトを書けばいいと思うよ
0983名前は開発中のものです。2013/12/19(木) 15:17:21.04ID:TaPnGGOE
transformから forward,upベクトルが取れて
lookAtでそっちむかせられるから、がんばる。
0984名前は開発中のものです。2013/12/19(木) 15:50:21.61ID:QOpznZGT
>>980
.netのjavaってなんだよ
学習せい
0985名前は開発中のものです。2013/12/19(木) 18:32:14.08ID:OWNeQyH0
.netの中にjavaって含まれて無かったのね
いや、C#専攻使いなので・・・
適当な事言ってスマンかった

.Netベース
Javaスクリプトベース
って感じなのかね(Booは除いて)

・・・という事はjava側はLINQは使えないのね…ふーむ
0986名前は開発中のものです。2013/12/19(木) 20:11:01.50ID:xRPSi1ze
スクリプトのドキュメントが英語だけどお前ら英語読めるのか凄いな
0987名前は開発中のものです。2013/12/19(木) 22:28:13.79ID:PSumfwfZ
Application.CaptureScreenshot使ってスクショ取れるようにしたんですが、
サイズ1920*1080で起動したときのみ強制的に落ちる・・・
上より小さい解像度だと問題なくスクショ保存できるんですが・・・原因とかあるんでしょうか
0988名前は開発中のものです。2013/12/19(木) 23:32:33.70ID:gzMdyy+f
>>985
そもそもJavaとJavaScriptって全然違うんだがな
JavaはどちらかというとC#に近い
>>987
メモリが足りない
0989名前は開発中のものです。2013/12/20(金) 00:45:51.98ID:soPod0ll
>>988
あー、なるほど
ありがとうございます
0990名前は開発中のものです。2013/12/20(金) 00:58:55.69ID:Ze0iMmB8
>>988
なんか、基本的にC#とJavaはとても似ているそっくりさんである事と、

BooやJSript.NET(Unityでは単にJavaScriptと呼ばれてる物)やC#は、
全部CLI上で動く.NET(MONO)系言語である事と、

話が混同して流れてる気がする。
どっちがどう勘違いしてるかまでは見ていないけど。
0991名前は開発中のものです。2013/12/20(金) 01:00:53.04ID:wisPqWPa
>>963
まず、MonoBehaviourを継承したクラスはnewで作っちゃだめ
GameObjectのコンポーネントとして使うこと
多分それはコンポーネントとして使うつもりなんだろうから、
それならAddComponentで追加するべき
0992名前は開発中のものです。2013/12/20(金) 01:08:43.47ID:Ze0iMmB8
あと、>>980
「魔改造」 なんてされてないよ。ただの .NET(MONO)だよ。
Unityテクノロジーズが開発したクラス群が、単にフレームワークとして用意されているだけで。

あと俺スレ立てられないので、誰かよろしく。
0993名前は開発中のものです。2013/12/20(金) 02:48:26.77ID:zOXHtHYy
>>991
すでにUnityのGUI上でスクリプトを空オブジェクトにくっつけてたので、
newする代わりに
Hoge someInstance = (Hoge)GameObject.Find("someObject").GetComponent("Hoge");
みたいな書き方で出来ました!

とても嬉しいです、ありがとうございます!
0994名前は開発中のものです。2013/12/21(土) 00:11:21.27ID:J88LSVGR
最初の二行はなんなんだろう……
0995名前は開発中のものです。2013/12/21(土) 10:07:57.33ID:5eVBb3GH
>>994
なんだと言われても

>1 :名前は開発中のものです。:2013/10/12(土) 07:10:26.04 ID:L8N2fF4y
> 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

特に問題がある内容には見えないが?
0996名前は開発中のものです。2013/12/21(土) 10:31:12.71ID:gQ7J+gd3
なんで日系がテンプレに入ってんだw
0997名前は開発中のものです。2013/12/21(土) 13:03:31.91ID:kLZ7LYK/
日系って何?
0998名前は開発中のものです。2013/12/21(土) 13:08:39.26ID:jXdiAeka
テンプレに変なの混入させるヤツが居るのはもうずっとだね
気づいた時に適当に省いて下さい
0999名前は開発中のものです。2013/12/21(土) 13:23:01.60ID:gQ7J+gd3
毎回変なの混ざるよな
100歩譲ってomaeさんいれる程度か
1000名前は開発中のものです。2013/12/21(土) 13:28:10.76ID:gZnHrgPF
1000ゲット!!!
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。