2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :名前は開発中のものです。:2014/08/05(火) 22:02:24.88 ID:WCQkNfyP.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質問スレッド10
http://peace.2ch.net/test/read.cgi/gamedev/1403791323/

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

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

133 :名前は開発中のものです。:2014/08/13(水) 03:33:24.10 ID:BhP2A2nW.net
http://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/mobile/04.html
なーこのバーチャルジョイスティックをつけるやつ
このとおりにやってもパッドが表示されへんのやけど
どうすればええねん?

「AssetStoreにあるアセットを仕様しているのでプロジェクトのダウンロードはありません」
とあるので完成版もなくて確認できへんのよ

134 :名前は開発中のものです。:2014/08/13(水) 09:02:42.08 ID:E37t91Ck.net
>>133
アセットをかえばいいとおおもうよ

135 :名前は開発中のものです。:2014/08/13(水) 11:38:57.87 ID:BhP2A2nW.net
ちゃんとそのページに載ってるアセットを買っていれてるねんよ

136 :名前は開発中のものです。:2014/08/13(水) 12:42:55.41 ID:z/cJayoh.net
Mecanimを使ってアニメーションさせているのですが、アニメーションAからアニメーションBに遷移中にアニメーションCに遷移させる際にアニメーションAからアニメーションBへの遷移を中断させる方法はあるのでしょうか?
ユニティちゃんのコード見た感じ遷移中は他アニメに移行しないよう制御しているようなのですがそれが一般的な方法なのでしょうか?

137 :126:2014/08/13(水) 13:08:47.96 ID:x2OTd4LY.net
>>128
あざます。
自分がどこを撃たれたのかっていう判定を
敵キャラにアタッチした1つのスクリプト内で完結させたいなあと
考えていたのですが…うーん、意外にめんどい…

138 :名前は開発中のものです。:2014/08/13(水) 14:54:31.58 ID:aaRkIs3i.net
rigidbodyの物理演算を用いずに壁にあたったらキャラが止まる処理を作りたくて
if(other.gameObject.tag == "Wall"){
transform.position.z -= movedZ;
transform.position.x -= movedX;
}
OnTriggerEnter()に壁にあたっていたら移動した分、座標を戻す処理を書きました。
結果としてちゃんとぶつかった時にぶつかる前の座標に戻ったんですが、最初に壁にあたった時しか実行されませんでした。
それでStayにも同じ処理を書いたのですがStayが毎フレーム呼び出されなくて、ぶつかり続けると少しずつ壁をすり抜けようとしてしまいます。

このあたりの仕様はどうなってるんでしょうか?
また、キャラが移動して壁に当たったら止まるコードのサンプルがあれば教えて頂きたいです。

139 :名前は開発中のものです。:2014/08/13(水) 16:30:27.79 ID:W13qzhiV.net
>>138
この辺
ttp://docs.unity3d.com/Manual/ExecutionOrder.html

Update()で移動してたらOnTriggerで戻しても
その直後のUpdate()でまためり込む。
物理使いたくないとかいってもOnTrigger使ってる時点で
物理演算使っているので動作は全てFixedUpdate()でやるべき。

>>136
Transitionのanimatorのatomicのチェックボックスるをはずせば
同位のトランジションに対しては途中から切り替え可だと思う。

>>132
空のGameObjectにMeshFilterとMeshRendererコンポーネントを追加して
Prefabをロードした上でそのMeshをMeshFilterに、
そのMaterialをMeshRendererに送ってやればいいんじゃね?

140 :名前は開発中のものです。:2014/08/13(水) 16:30:51.26 ID:aaRkIs3i.net
自己解決しました。

衝突とか物理演算に関わる場合は移動の処理もFixedUpdate()に書かないとダメなんですね・・・
あるサイトの"フレームの進行と物理シミュレーターの進行はそれぞれ独立している"
という一文で気づきました・・・
道理で時々フレーム落ちするような感じでStayが呼ばれなかったんですね。

141 :名前は開発中のものです。:2014/08/13(水) 16:55:31.12 ID:aaRkIs3i.net
>>139
ありがとうございます、とてもわかりやすいのでブクマしました。
当たり判定取ってるだけだから物理というより数学じゃない?って思ってましたけど
rigidbody使ってる時点で物理エンジンを使ってるという所に気づくべきでした。

142 :名前は開発中のものです。:2014/08/13(水) 17:04:49.62 ID:M12iy21k.net
>>136
>>139に付け加えて言うと切り替えられるトランジションには優先順位がある
アニメーションクリップのInspecterにあるトランジションの一覧でドラッグすれば入れ替えられる
優先順位は上にあるほど高く 下にあるトランジションを再生中により上のトランジションの再生条件が満たされたらそちらに切り替わる

143 :名前は開発中のものです。:2014/08/13(水) 17:15:10.28 ID:M12iy21k.net
>>137
http://bribser.co.jp/blog/get-collision-of-child-object-with-unity/
これとかいいんじゃない?

ボーン構造は複数階層あるから
parent = gameObject.transform.parent.gameObject; は
parent = gameObject.transform.root.gameObject;
にするかInspectorで親を指定してやるようにするといいかも

144 :名前は開発中のものです。:2014/08/13(水) 17:55:36.52 ID:aaRkIs3i.net
連投で申し訳ないですがColliderを好きなタイミングで衝突の判定をさせることは出来ますか?
坂道の判定を実装したいのですが、
キャラの移動時に地形と衝突している場合、キャラを少し上に動かした所でキャラが地形と衝突していなければ
上り坂として判定してキャラを上に動かした後、地形に着地するまで下に動かすといった事をやりたいです。

145 :名前は開発中のものです。:2014/08/13(水) 18:06:52.97 ID:W13qzhiV.net
>>144
OnCollisionEnter等の判定は上で示した
ドキュメントにあるようにPhysicsループの中でしか呼ばれない。
任意のタイミングで衝突判定を呼ぶ方法はない。
物理エンジンを全部自分で実装するしかない

146 :名前は開発中のものです。:2014/08/13(水) 18:21:45.19 ID:z/cJayoh.net
>>139 >>142
まさしく欲しい情報でした、ありがとうございます
自分が買った本やサイトにはその辺りが書いてなくて困ってました
最近の本にはMecanim詳しく載ってたりするのかな・・・

147 :名前は開発中のものです。:2014/08/13(水) 18:40:55.89 ID:W13qzhiV.net
>>144
つーか、普通にColliderでやればいいじゃんって気がするのだが。
言っている事自体はCapsuleCastやLineCastやSphereCastで
できないこともないんだが相手がTriggerだと正直どうしようもないし。
ttp://docs.unity3d.com/ScriptReference/Physics.html

148 :名前は開発中のものです。:2014/08/13(水) 19:57:22.16 ID:aaRkIs3i.net
>>147
またまた的確なアドバイスありがとうございます。

149 :名前は開発中のものです。:2014/08/13(水) 21:02:30.34 ID:NQcGFCrA.net
ストアでフリーの素材をダウンロードするとダウンロード失敗と表示されるのですが、原因はなんでしょうか?ブラウザからもUnityからもダメでした。

150 :名前は開発中のものです。:2014/08/13(水) 21:21:54.23 ID:i0Blr7kf.net
>>149
サーバの調子が悪いときにはよく起きる

151 :名前は開発中のものです。:2014/08/13(水) 21:38:56.76 ID:uHYNBgZQ.net
凄く初歩的な事なんですけど、変数の初期値を入れるのは
クラス宣言直下とStartメソッドどっちの方がいいんでしょう?

152 :名前は開発中のものです。:2014/08/13(水) 21:44:02.42 ID:NQcGFCrA.net
>>150
よくあることなんですね。
ありがとうございます。

153 :名前は開発中のものです。:2014/08/13(水) 21:54:46.24 ID:uNXNmse0.net
iphone向けにシューティングゲームを作っています。
CPUの負荷について教えてください。

タイトル画面→ゲーム→結果画面→またタイトル画面…

という感じで繰り返しテストをすると、
徐々にCPUの使用率が上がっていき、
FPSも下がっていってしまいます。

シーン間で引き継いでいるのは
シングルトンにしたマネージャクラスと、
スコアの数字程度なので心当たりがありません。

シーン間でオブジェクトは破壊されると聞いてますし、
実際に一時停止してヒエラルキーを見ても
増殖しているオブジェクトは見当たりません。

こういうとき、原因の調べかたって、
なにかコツがありますか?

154 :名前は開発中のものです。:2014/08/13(水) 22:09:46.72 ID:i0Blr7kf.net
>>151
private,protectedならどっちでやってもかまわない
publicの場合Startで設定するとインスペクタで設定した値が失われる。

155 :名前は開発中のものです。:2014/08/13(水) 22:46:59.87 ID:uNXNmse0.net
解決しました

156 :名前は開発中のものです。:2014/08/13(水) 22:54:16.87 ID:Z9ktVoUp.net
>>155
in English.

157 :名前は開発中のものです。:2014/08/13(水) 23:28:44.20 ID:uHYNBgZQ.net
>>154
あれ、そうなんですか。パフォーマンス的な違いが出るかと思ってました。どうもです

158 :名前は開発中のものです。:2014/08/14(木) 00:09:06.04 ID:hgkTWqft.net
>>156
I'm kaiketued it. :-)

159 :名前は開発中のものです。:2014/08/14(木) 03:05:05.45 ID:5urAdSMC.net
アセットストアで思い出した。

確か、あれ日本語化すると一部アセットはダウンロード失敗するんだよな。エラーメッセージでググっても出ないから焦ったわ。

なぜアセットストアだけ日本語化されたのか不思議。

あと韓国語も必要ないだろ

160 :名前は開発中のものです。:2014/08/14(木) 03:15:12.09 ID:y4hGaEYI.net
editorWindow作ってて、
コンパイルエラーしてると固まるのなんとかならないかね。
Windowの強制終了とかあるんかね。

161 :名前は開発中のものです。:2014/08/14(木) 09:27:38.24 ID:oFqVM56n.net
>>160
アセットを買えば なんとかなりますよ

162 :名前は開発中のものです。:2014/08/14(木) 11:08:26.02 ID:O4dKumIk.net
テキストの表示に関して質問したいのですが、例えば敵の名前やダメージを個別に表示する場合
text meshやGUItextを使用するとドローコールが一体につき一つ増えてしまうのですが、一般的にはどうやって回避しているのでしょうか?
それとも、ダメージ表示などは別のやり方で表示しているのでしょうか?

163 :名前は開発中のものです。:2014/08/14(木) 11:19:02.95 ID:TU3zOrH7.net
>>162
DrawCallを本気で減らしたい(たぶんスマフォがターゲット?)なら自前でテキストを描画するGameObject内で独自に頂点描画しないと駄目。
NGUIなんかはテキストが同一フォントの場合直上のUIPanelに押しつけるようにして描画してる。
どちらにせよ同一Shader,Materialで纏めないといけないんで苦労はあんまりかわらんかも。

PCやMac向けならそこまで気にしないで大丈夫(どっちかつーとDynamicなGameObjectブジェクトを大量に持つ方が重い)

164 :名前は開発中のものです。:2014/08/14(木) 11:29:56.50 ID:XjZrUYTs.net
Instantiateでプレハブからインスタンスを生成するときに
プレハブのTransformで設定されてるRotationを反映させることは可能でしょうか

Instantiate(Resources.Load("Prefab"), transform.position, ??? );

165 :名前は開発中のものです。:2014/08/14(木) 11:41:12.27 ID:TjAgLSPn.net
>>162
アセットを買えばいいと思いますが

166 :名前は開発中のものです。:2014/08/14(木) 11:50:20.43 ID:Hq5qNBfI.net
TextMeshを複数おいても勝手にバッチされてドローコール1回で描画されている気がするんだが

167 :名前は開発中のものです。:2014/08/14(木) 12:22:38.82 ID:O4dKumIk.net
>>163

ありがとうございます。
スマホを想定しています。
シェーダーなど作る必要があるわけですね。
少々ハードルが高いですが挑戦してみたいと思います。

http://marupeke296.com/UNI_PLG_No1_NGUI01.html
このサイトのような手順で作ればよいのでしょうか?

>>166
たしかに、まっさらな状態で追加してみたところ増えませんでした。
ただ、自分の製作中の環境では増えてしまいます。
親オブジェクトが存在して、下にテキスト表示オブジェクトを入れているのですが、関係しているのでしょうか?

168 :名前は開発中のものです。:2014/08/14(木) 13:28:55.81 ID:GVo98wy6.net
CapsuleCastの引数のpoint1,2ってVector3で渡すことになってますが
直接ワールド座標で指定するのではなくてオブジェクトの位置基準で
ベクトルp1からベクトルp2までの範囲の判定を取るのでしょうか?

169 :名前は開発中のものです。:2014/08/14(木) 14:22:58.69 ID:x/wXFTVz.net
>>168
アセットをかえば取れますよ

170 :名前は開発中のものです。:2014/08/14(木) 14:32:44.70 ID:z7hCwaDW.net
アセットとは何ですか?

171 :名前は開発中のものです。:2014/08/14(木) 15:28:26.23 ID:Hq5qNBfI.net
>>167
半透明描画されるからテキストの間に他の半透明なオブジェクトが入っているとドローコールが分割されるようだ

テキストが常に画面の一番手前に描画されるのであれば
間に他の半透明オブジェクトが入らないようにテキストの位置を調整するか
テキストはレイヤーを分けて別のカメラに描画させるか
すれば1回で描画されるんじゃないのかな

テキストが他のオブジェクトに隠れたりするんなら知らん

172 :名前は開発中のものです。:2014/08/14(木) 18:29:18.52 ID:O4dKumIk.net
>>171

カメラのレイヤーを分けたところドローコールがかなり減少しました。
教えてくださってありがとうございました。

173 :名前は開発中のものです。:2014/08/14(木) 20:17:12.54 ID:z7hCwaDW.net
明日コミケで売られるUnityブースでのゲームディスクにはソースコードやアセットなど
開発に役に立つ物は入ってますんか?

174 :名前は開発中のものです。:2014/08/14(木) 20:37:46.38 ID:b5izg2+e.net
アセットはアセットストアで購入しましょう

175 :名前は開発中のものです。:2014/08/14(木) 22:42:50.59 ID:XjZrUYTs.net
GetComponentで同じオブジェクトにアタッチされたスクリプトを取得したいのですが
目的のスクリプトを別のスクリプトに変えてもそのままそのスクリプトを取得するようにできますでしょうか
キャラクターのAIソフトとして入れ替えられるようにしたいのですが

176 :名前は開発中のものです。:2014/08/14(木) 22:43:20.31 ID:x/wXFTVz.net
>>175
アセットを購入すれば簡単ですよ

177 :132:2014/08/14(木) 23:06:25.69 ID:mRRRa5I/.net
>>139
遅くなったけどありがとう
コンポーネント取得のところでミスしてたみたいでそういうことはできないのかと思ってたよ

178 :名前は開発中のものです。:2014/08/14(木) 23:22:50.62 ID:sPAMaztz.net
>>175
各スクリプトに共通のインターフェイス乗っけたらうまく行かんかな?

179 :126:2014/08/15(金) 01:01:06.43 ID:gxPoAiCH.net
>>143
おお〜!参考になります。
gameObject.transform.root って記述は初めて知りました。とても使えそうです。
ありがとうございます

180 :名前は開発中のものです。:2014/08/15(金) 02:49:13.04 ID:1LeycAJJ.net
GUI の Label にて wordwrap でテキストの回り込みをさせたとき、
スクリプトで行間の高さも指定する方法はありますか?

181 :名前は開発中のものです。:2014/08/15(金) 08:07:08.33 ID:pp+iGN13.net
>>180
アセットをかってみるとできるかもしれませんね

182 :名前は開発中のものです。:2014/08/15(金) 11:10:50.20 ID:pQkWFfv7.net
>>164
できない。そういうメソッドオーバーロードはない。
>>175
できない。違うスクリプトは違うクラスなのだから同じ
GetComponentで取得することはできない。

183 :名前は開発中のものです。:2014/08/15(金) 11:58:25.31 ID:mzFPz0GG.net
>>175, >>182
1つのGetComponentで違うクラスを取得できないのは確かにその通りだが、
違うクラスでも同一のスーパークラスを継承したものであれば、
スーパークラスをGetComponentするとスーパークラスで定義された部分は取得できるよ。
例えばスーパークラスでpublic 変数を宣言し、サブクラスで計算結果を代入しておいて、
他のクラスからスーパークラスをGetComponentしたら、計算結果の入った変数にアクセスできる。

184 :名前は開発中のものです。:2014/08/15(金) 12:09:51.07 ID:JGD68MO3.net
>>164
先にプレハブを読み込んでInstantiateのオーバーロードにrotationを入れればできる。
var prefab = Resources.Load<GameObject>( "PrefabPath" );
var instance = GameObject.Instantiate( prefab, prefab.transform.position, prefab.transform.rotation ) as GameObject;

>>175
基底クラスが同じならできる。
クラスAを継承していれば、クラスBでもCでもGetComponent<A>()で取得できる。

アセットおじさんの次はできないおじさんか…勘弁してくれよ……

185 :名前は開発中のものです。:2014/08/15(金) 12:59:46.06 ID:g0u3iocd.net
アセットをかえばなんでもできますよ、UNITYは
できないおじさんには困ったものですね

186 :名前は開発中のものです。:2014/08/15(金) 13:06:21.71 ID:UFK9JcdF.net
>>185
どのアセットを使えばプログラミングせずに>>175を実現できるのか教えて欲しい
割とマジで

187 :名前は開発中のものです。:2014/08/15(金) 13:43:40.08 ID:SBGZ0lU9.net
つまりアセットを買わないと何もできない?

188 :名前は開発中のものです。:2014/08/15(金) 13:59:16.31 ID:1LeycAJJ.net
>>180
これ、Label 以外でも良いので、
行間調整できるシステムフォント表示の方法、無いでしょうか。

189 :名前は開発中のものです。:2014/08/15(金) 14:26:21.04 ID:g0u3iocd.net
>>188
アセットがかえばできると思いますよ
アセットストアで探しましょう
無料アセットを探してもダメですよ

190 :名前は開発中のものです。:2014/08/15(金) 15:59:35.32 ID:UFK9JcdF.net
>>189
どのアセット使うの?

191 :名前は開発中のものです。:2014/08/15(金) 18:53:44.70 ID:kZAIt/lc.net
UnityのJavaScriptで列挙型を扱うにはどのように記述すればよいですか?
C#の方が資料多いしそっちに慣れたほうが良いですかね

192 :名前は開発中のものです。:2014/08/15(金) 19:01:11.56 ID:WHWGg501.net
>>191

enum MYSTATE {
STOP,WALK,RUN
}

funciton GetMyState() : MYSTATE {
return MYSTATE.STOP; // example return value
}

と普通にかけるよ

193 :名前は開発中のものです。:2014/08/15(金) 19:03:31.88 ID:WHWGg501.net
追記
詳細はMicrosoftの.netのJScriptを調べると良いよ

194 :名前は開発中のものです。:2014/08/15(金) 19:08:34.23 ID:JGD68MO3.net
>>190

>>183>>184>>175を実現する方法言ってんでしょ!
アセットおじさんはアセットを使えばできるよ以外の言葉発しないから会話しても無駄だよ!

195 :名前は開発中のものです。:2014/08/15(金) 19:12:37.79 ID:g0u3iocd.net
>>191

アセットをかえばプログラム要りませんよ

196 :名前は開発中のものです。:2014/08/15(金) 20:37:06.12 ID:1LeycAJJ.net
GUIText を試そうと思い、
スクリプト start 内で下記のように記述しましたが、実行すると画面には何も出ません。

手動でヒエラルキービューに置いた GUIText は表示されています。
ほぼ同じ設定をしているのですが、どうしたら表示されるんでしょうか。

GameObject goTestGui = new GameObject();
goTestGui.AddComponent(typeof(GUIText));
goTestGui.GetComponent<GUIText>().text = "testGUI";
goTestGui.GetComponent<GUIText>().fontSize = 18;
goTestGui.GetComponent<GUIText>().font = new Font("Arial");
goTestGui.GetComponent<GUIText>().color = Color.blue;
goTestGui.transform.position = new Vector3( 0.1f, 0.1f, 0.0f );

197 :名前は開発中のものです。:2014/08/15(金) 21:04:25.90 ID:g0u3iocd.net
>>196
アセトを買いましょう!表示されますよ

198 :名前は開発中のものです。:2014/08/16(土) 04:48:54.95 ID:626RbEma.net
>>183
>>184
ありがとうございます!
なるほどクラスの継承を使えばいいのですね
rotationの取得は一旦プレハブとして取得すればいいと
非常に参考になりました

199 :名前は開発中のものです。:2014/08/16(土) 09:00:57.48 ID:XTkGjVBn.net
アセット買ってもできませんでした>_<
って書いたらどういう反応するんだろうね?

200 :名前は開発中のものです。:2014/08/16(土) 12:34:39.74 ID:giYDLQib.net
アセットを買えばできるようになりますよ

っていうに決まってるでしょ(´・ω・`)

201 :名前は開発中のものです。:2014/08/16(土) 12:55:37.22 ID:i1FdYvXb.net
インスペクターのヘルプアイコンから日本語版のマニュアルを見る手段ってある?

202 :名前は開発中のものです。:2014/08/16(土) 15:16:24.36 ID:HAxP3e1PN
すみませんUnity4.3.4を使っているのですが、
JavaScript上でモーション名を指定して直接モーションを再生したいのですが上手く行きません。

・Assetsに読み込んだFBXファイルをHierarchyにドロップ。
・それにAnimationのコンポーネントを追加しAnimationsにモーションを登録。
・JavaScriptコードを作り適用し、 function Update () { animation.Play("Walk"); }
と試してみるも全く動いてはくれません。
私は何を間違っているのでしょうか?
手順解説をしている所のURLなど有れば教えて頂けますと助かります…orz

203 :名前は開発中のものです。:2014/08/16(土) 16:00:28.75 ID:Bgv4pORG.net
>>201
アセットを買ったら見ることができると思いますよ

204 :名前は開発中のものです。:2014/08/16(土) 16:54:06.47 ID:pGIxIPwH.net
>>199
保守用Botなのでスルーでおっけー
意味のある返事はしない

205 :名前は開発中のものです。:2014/08/16(土) 17:25:46.43 ID:xvUUuA/I.net
しないんじゃなくて
出来ないんだよ

206 :202:2014/08/16(土) 17:41:34.17 ID:HAxP3e1PN
すみません自己解決しました。AnimationTypeをLegacyにすれば良いだけでした。

207 :名前は開発中のものです。:2014/08/17(日) 01:31:51.73 ID:WSu//9t9.net
AddComponent(typeof(COMPONENT_NAME));
GetComponent<COMPONENT_NAME>().example();

というのを

AddComponent<COMPONENT_NAME>().example();

としても動いてしまったのですが、
これも正しい書き方でしょうか。

208 :名前は開発中のものです。:2014/08/17(日) 02:05:26.26 ID:E+qLFcKa.net
間違ってない。AddComponentはそのタイプのコンポーネントを返す。

ttp://docs.unity3d.com/ScriptReference/GameObject.AddComponent.html

209 :名前は開発中のものです。:2014/08/17(日) 02:09:44.21 ID:WSu//9t9.net
>>208
間違って書いたのをあとで見つけて、
それでも動くのでもやもやしていました。

ありがとうございます。

210 :名前は開発中のものです。:2014/08/17(日) 03:00:00.94 ID:2Ljw5zOM.net
new Texture2D(3,3)をDrawTextureすると、ひし形の画像が出てくるだけど、
new Texture2Dって模様の無い空のテクスチャ作るんじゃないの?

new Texture2D(1,1)ってやれば塗りつぶされたカラーが描画されるけど、
そもそも空のテクスチャって実はUnityが自動で読み込むひし形のテクスチャがデフォで設定されるって事??

リファレンスにも書いてないし、この空のテクスチャって奴は一体何なのさ???

211 :名前は開発中のものです。:2014/08/17(日) 03:11:25.82 ID:E+qLFcKa.net
初期化されていないメモリの中身など誰も保証しない、
というのがプログラムでの約束事

212 :名前は開発中のものです。:2014/08/17(日) 03:37:46.06 ID:dxQX/v9S.net
>>210
アセットをかえばアセットがどうにかしてくれますよ

213 :名前は開発中のものです。:2014/08/17(日) 11:57:56.28 ID:cJdZ2OXS.net
inspector上でscriptの右のボタンをクリックすると
assetsとsceneのscriptの一覧が出てきますよね。
sceneタブには何も表示されないんですが、
ここはどういうフォルダ構成にすれば表示されるのでしょうか?

214 :名前は開発中のものです。:2014/08/17(日) 23:50:46.52 ID:dxQX/v9S.net
>>213
アセットをかえば表示されますよ

215 :名前は開発中のものです。:2014/08/18(月) 04:53:24.05 ID:uXKh7UDW.net
AnimatorのAnimationClipのタグを複数登録ってできるんでしょうか

216 :名前は開発中のものです。:2014/08/18(月) 13:02:21.20 ID:qdhKXjRd.net
transform.localScale += new Vector3(-1,0,0);をpcのスペックごとに
速さが変わるのを調節するためにTime.deltaTimeを使おうとおもったので
すが、できません。
transform.localScale += new Vector3(-1,0,0) * Time.deltaTime;
このようにしました。ちなみに、Time.deltaTimeを消すと、ちゃんと動作
します。

217 :名前は開発中のものです。:2014/08/18(月) 13:32:27.75 ID:FgtPURuH.net
>>216
アセットをかったらちゃんと動作するよ!

218 :名前は開発中のものです。:2014/08/18(月) 13:35:21.16 ID:/QOTlVyM.net
どうできないのかがわからんとなんとも言えんかな〜。
ちなみにUpdate()にそれだけ書いた状態だと動く。
つまり何か使い方を間違えている。

219 :名前は開発中のものです。:2014/08/18(月) 14:27:45.99 ID:ARh+Aum/.net
60 fps 出ているとすると Time.deltaTime ≒ 0.0167 < 1だから、かけると変化量は小さくなる。
実はVector3(-1,0,0) じゃなくてもっと絶対値の小さい値を指定していて
動いているけど変化量が小さすぎて見た目に変化がないようにしか見えないトカじゃないだろうね。

220 :名前は開発中のものです。:2014/08/18(月) 14:37:38.30 ID:JLhwIizL.net
予め、変化量を別途に宣言、deltaTimeを乗算した後に代入は無理?

221 :名前は開発中のものです。:2014/08/18(月) 18:28:34.67 ID:qdhKXjRd.net
>>218,217,218さん回答ありがとうございます。
できました。>>219さんのとおり、変化量が小さすぎて変わっているように見えない
のが原因でした。物体が動いている状態だったため短くなっていることに気づきませんでした。
また、しっかりと質問できず申し訳ありませんでした。
3人みなさん教えていただきありがとうございました。

222 :名前は開発中のものです。:2014/08/18(月) 23:43:20.02 ID:WaPZtjZ1.net
現状でGUItextureはオワコンってのはわかるんだけど、
Unity5になったらSpriteオブジェクトもオワコンになるの?

223 :名前は開発中のものです。:2014/08/18(月) 23:55:30.25 ID:kfy/jK+T.net
GUItextureは重すぎて害悪だけど、
Spriteは軽いから将来的にオワコンになったとしても寿命は結構あると思う

224 :名前は開発中のものです。:2014/08/19(火) 11:21:05.58 ID:g6kVbLGr.net
先輩方教えてください。

ゲームのイメージは
transform,Translateを使い強制縦スクロールでうごかして
Sliderで敵を避けると言った感じを考えています。

フリー版のNGUIを使用してHorizonSliderをつくり
Sliderを動かすとplayerも連動して左右動く。
という流れを作りたいです。

スライダー作成は問題なくできましたが
そこから先がよくわかりません。

なんとなく
GameObject.Find("HorizonSlider").GetComponent(Slider)を
playerにアタッチすると思うのですが
うまくいかないだけではなく
それ以上がよくわかりません。

どなたかよろしくお願いします。

225 :名前は開発中のものです。:2014/08/19(火) 12:17:45.80 ID:QiSZCTeY.net
>>224
フリー版のアセットはダメですよ
アセットは買うと動くと思います

226 :名前は開発中のものです。:2014/08/19(火) 12:17:46.58 ID:MCm34Oqg.net
ビンボーだからnGUI買ってないけど、スライダーの真ん中の原点を取得。
原点から移動したスライダーの差分を求めて、
それにあわせてプレイヤーの高さを更新すれば多分行ける

……スライダーはOnGUIでも行ける希ガス

227 :名前は開発中のものです。:2014/08/19(火) 12:26:41.96 ID:kx1/iXJi.net
何がわからないのかわからないレベルだと正直厳しい。
ちゃんとチュートリアル一通りやれば?

スライダーでコントロールと言っても
・スライダーの左右位置にプレイヤーの左右位置も一致する
・スライダーの左右位置でプレイヤーの左右方向への速度が変わる
とかありえるのでそのゲームではどうしたいのか、が問題で
それは本人が決めるしかない。
プログラム自体がわかりません、というのは勉強するしかないが
そうでないなら大概の場合どうすればいいかがわからないというのは
自分がゲーム自体をどうしたいのかが曖昧にしかイメージできてない、
ということ。
そういうことはプログラムの知識など全くなくてもできるし
そういうことをしないとかなり単純なゲームでもできあがらない。

228 :名前は開発中のものです。:2014/08/19(火) 12:28:58.36 ID:QiSZCTeY.net
アセットをかって使えばプログラムなしでゲームは作れますよ

229 :名前は開発中のものです。:2014/08/19(火) 14:54:13.25 ID:g6kVbLGr.net
>>227
勉強するしかないのは仰るとおりなんだけど
自分の勉強の仕方はやりながら覚える派だからとりあえず作ってみてる。
写経はどうも性に合わなくて。

そのせいで迷惑かけたようならすみません。
もう少し試行錯誤してみます。

230 :名前は開発中のものです。:2014/08/19(火) 16:14:02.73 ID:kx1/iXJi.net
迷惑とかいうことはないけどねw
具体的なやり方をある程度書くなら

using UnityEngine;
using System.Collections;
public class test : MonoBehaviour {
UISlider sl
Vector3 pos;
void Start () {
sl = GameObject.Find("HorizonSlider").GetComponent<UISlider>();
pos = transfrom.position;
}
void Update () {
pos.x = (sl.sliderValue-0.5f)*10f;
transform.position=pos;
}
}
とでも書いたC#スクリプトをプレイヤーオブジェクトにでも放り込んでおけばとりあえずは動く。

231 :名前は開発中のものです。:2014/08/19(火) 16:22:53.54 ID:kx1/iXJi.net
悪い、色々誤植があったw

using UnityEngine;
using System.Collections;
public class test : MonoBehaviour {
UISlider sl;
Vector3 pos;
void Start () {
sl = GameObject.Find("HorizonSlider").GetComponent<UISlider>();
pos = transform.position;
}
void Update () {
pos.x = (sl.sliderValue-0.5f)*10f;
transform.position=pos;
}
}

232 :名前は開発中のものです。:2014/08/19(火) 16:38:07.64 ID:kx1/iXJi.net
或いはもうちょっとスムーズに動かしたいなら
using UnityEngine;
using System.Collections;
public class test2 : MonoBehaviour {
UISlider sl;
Vector3 pos;
Vector3 dump=Vector3.zero;
public float smthTime=1f;
public float maxSpd=3f;
void Start () {
sl = GameObject.Find("HorizonSlider").GetComponent<UISlider>();
pos = transform.position;
}
void Update () {
pos.x = (sl.sliderValue-0.5f)*10f;
transform.position = Vector3.SmoothDamp (transform.position, pos, ref dump, smthTime, maxSpd);
}
}
とかでもいい。
もう少し簡易にVector3.LerpやVector3.Slerpでもいいだろうし。

233 :名前は開発中のものです。:2014/08/19(火) 16:38:34.72 ID:SDJ5Szcg.net
皆さんが優しすぎて甘えてしまいそうです

総レス数 1007
310 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200