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

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
皆さんが優しすぎて甘えてしまいそうです

234 :名前は開発中のものです。:2014/08/19(火) 19:25:32.04 ID:MCm34Oqg.net
すみません、FPS作ってるのですが、アセットから辛うじてカメラ正面にRayを飛ばして模擬的に弾丸を真似してるのはわかったのですが、
その際の銃本体の視点への追従の仕組みが分かりません。
単に、銃をRayがヒットした場所にLookAtでよろしいのでしょうか?
だとしても、リロード時の銃身の動きはスクリプトでできるものなのでしょうか。

235 :名前は開発中のものです。:2014/08/19(火) 20:48:43.96 ID:QiSZCTeY.net
>>234
アセットは買いましたか?

236 :名前は開発中のものです。:2014/08/19(火) 21:01:23.92 ID:ARA40/9x.net
>>234
作りのレベルにもよるんだろうけどああいうのは基本的に
FPS用の腕と銃みたいなのをカメラに親子付けしとけばいいんじゃね?
リロード用のアニメーションつけておいて
リロード時はそれを再生する。

237 :名前は開発中のものです。:2014/08/19(火) 21:04:05.83 ID:eg7yj5lw.net
ステータスとかキャラの位置を表示するためのビルボードを表示させてるんだけど
それの描画がスクリーン座標上で重なってしまった時に後側のビルボードを重ならない位置にずらすってどういうアルゴリズムで実装すればいいんだろうか

238 :名前は開発中のものです。:2014/08/19(火) 21:20:12.42 ID:ZLkux2zU.net
>>232

やさしいのぉ
やさしいのぉ〜(;_;)

ありがとう。
わからないことがあったらまたバンバン聞くぜっ。

239 :名前は開発中のものです。:2014/08/19(火) 21:26:20.12 ID:cYa/Ca0p.net
その代わり自分の知ってることを誰かが質問してたら教えてやれ

240 :名前は開発中のものです。:2014/08/19(火) 21:32:24.25 ID:MCm34Oqg.net
>>236
ありがとうございます。やっぱりあのモーションをスクリプトで実現するのは骨が折れますよね…

241 :名前は開発中のものです。:2014/08/19(火) 21:33:44.62 ID:ARA40/9x.net
>>237
言ってしまえば物理処理の衝突と同じなんじゃね?
重なりを検出してどの方向に押し出すか決めて移動させる。
前後をどうするのかとかは自分で決めるしかないけど
それが決まれば前後順にソートして前から優先で位置決めしていけばいい。

242 :名前は開発中のものです。:2014/08/19(火) 21:36:22.98 ID:QiSZCTeY.net
>>237
アセットをかえば簡単にできますよ

243 :名前は開発中のものです。:2014/08/19(火) 21:40:14.53 ID:HJlGowUA.net
予めモデルにくっ付いてるアニメーションは
他のモデルに流用出来ないのでしょうか?

244 :名前は開発中のものです。:2014/08/19(火) 21:40:50.36 ID:eg7yj5lw.net
>>241
やっぱりレイ投げたり当たり判定取って後は地道な移動する感じかな
地道に処理書きます
ありがとう

245 :名前は開発中のものです。:2014/08/19(火) 21:44:44.48 ID:ARA40/9x.net
>>243
まったく同じ構造・名前の骨なら
そのままどういう手段でも使える。
mecanimでHumanoidなら
多少違う構造でもある程度使える。
場合によってはおかしくなる。

246 :名前は開発中のものです。:2014/08/19(火) 22:00:41.94 ID:HJlGowUA.net
>>245
Humanoidでスキニング行列の動作確認も出来ているにも関らず動かない場合は
アニメータコントローラの条件等の設定ミスを疑うべきでしょうか?

247 :名前は開発中のものです。:2014/08/19(火) 22:30:36.80 ID:ARA40/9x.net
>>246
まぁコントローラ側の設定がおかしければ
それはもうアニメーションの問題ではないからなぁw

プレビューウインドウで適切にアヴァター選んで動くようなら
アニメーションのデータ自体は大丈夫なはず。

248 :名前は開発中のものです。:2014/08/19(火) 23:07:10.23 ID:x5wCXhk9.net
>>247
ですよね
ありがとうございました

249 :名前は開発中のものです。:2014/08/19(火) 23:16:22.04 ID:gRimHKsi.net
MonoDevelopで「.」を押すと補完されるおせっかい機能はどうすれば無効にできますか?

250 :名前は開発中のものです。:2014/08/20(水) 02:15:09.21 ID:xJA8Et7G.net
>>249
アセットをかえば無効にできますよ

251 :名前は開発中のものです。:2014/08/20(水) 06:36:03.86 ID:87IaKluD.net
PlayerSettingsで設定するWindowsのScreenResolutionがなぜか反映されない・・・
前回ビルド時の画面サイズが勝手に適用されてしまう

252 :名前は開発中のものです。:2014/08/20(水) 08:17:08.43 ID:xJA8Et7G.net
>>251
アセットをかえばいいとおもいますよ

253 :名前は開発中のものです。:2014/08/20(水) 08:50:10.78 ID:7+eCtfZ1.net
>>249
ToolsメニューのOptionsを選択して
TextEditorのGeneralを選択して
Enable code completionのチェックをはずす

254 :名前は開発中のものです。:2014/08/21(木) 00:06:01.69 ID:UjCIVMhj.net
public const Vector3 xxxxx = new Vector3(0f, 0f, 0f)

って出来ないんでしょうか。
やったけどエラーになりました。

255 :名前は開発中のものです。:2014/08/21(木) 00:18:33.25 ID:LR/WB4rJ.net
>>254
アセットをかえばいいとおもいますよ

256 :名前は開発中のものです。:2014/08/21(木) 00:23:48.83 ID:ZMzzdvjf.net
一番後ろ、;(セミコロン)がない…ではないですよね
すみません、javascript派の私にはC#の文法すら不安定なんです…

257 :名前は開発中のものです。:2014/08/21(木) 00:32:13.99 ID:uELHl3ca.net
>>254
なんかそれはできないらしいよ。
この辺参照
ttp://answers.unity3d.com/questions/60262/the-type-unityenginevector3-cannot-be-declared-con.html

258 :名前は開発中のものです。:2014/08/21(木) 01:07:26.32 ID:8d94nKJq.net
初めてビルドしたんだけど、Webビルドしてブラウザで実行させるとGUIボタンがクリック出来なかったんだ。

ゲーム開始直後に変数trueでGUIボタンを表示するようにスクリプト書いてたんだけど、その変数は宣言時にfalseを代入してたんだ。
まさかと思ってStartメソッドでfalse代入するように書き換えてWebビルドしたら、GUIボタンがクリックできるようになったんだ。

スタンドアロンのビルドは変数宣言時代入でも普通に動作してたんだけど、WebビルドってStart内で変数初期化しないとダメなの?

259 :名前は開発中のものです。:2014/08/21(木) 01:11:30.95 ID:LR/WB4rJ.net
>>258
アセットをかえばできると思いますよ

260 :名前は開発中のものです。:2014/08/21(木) 02:02:32.74 ID:WTALi2BO.net
>>259
アセットをかえばできると思いますよ
http://unity3d.com/unite/unite2014/keynote

261 :名前は開発中のものです。:2014/08/21(木) 02:07:58.69 ID:FY4IWOMe.net
Vector3.zero

262 :名前は開発中のものです。:2014/08/21(木) 03:03:48.60 ID:iTAS0eP5.net
>>258
public bool useGUI = false;
とかpublicで宣言してたりしたらインスペクタで値を設定しちゃうとシリアライゼーションでシーンにインスペクタの値で保存されちゃうんだけど間違ってそういう操作したりしてないか?

263 :名前は開発中のものです。:2014/08/21(木) 16:34:35.64 ID:Jqw6iCnU.net
 プレイヤーキャラクターごと動く「動く床」を作りたいんですがやり方がわかりません。分かる人いたら教えて下さい。

 現状、色々ググった結果、
「動く床」の子要素にキャラクターを持ってくれば一緒に動いてくれるようだと理解しました(あってるかどうかはさておき)
(例えば http://blog.be-style.jpn.com/article/58581741.html )

そこで試しに作ってみたケース1がこれです↓
( https://3ac7952d4f3d414f13ef5ac978121676474d7eb4.googledrive.com/host/0B3YVex4p4Ui0LXVQaWhSYmVwWnM/UGOKUYUKA.html )

↑で前進 ←→で旋回 ↓でバック スペースキーでジャンプ ドラッグでカメラ回転 右クリックドラッグでズームイン・アウト
OpenDoorを押すと足元のブロック(floor)に力が加わって動きます。動くブロックの上に浮いているブロックに触れている間、ビキニのキャラクターが動くブロックの子要素に入ります

結果、画像のように浮いているブロックに触れている間は「bikini」は「floor」の子要素になり、離れると子要素からも外れます。
http://iup.2ch-library.com/i/i1266692-1408603985.png
http://iup.2ch-library.com/i/i1266695-1408604210.png

ですが、キャラクターはfloorと一緒に動いてくれません。落ちます。

続く

264 :名前は開発中のものです。:2014/08/21(木) 16:36:11.63 ID:Jqw6iCnU.net
>>263でfloorとキャラクターを結びつけているスクリプトが以下floorとbikiniを結びつけているスクリプトは以下↓

#pragma strict

var player : GameObject;
var floor : GameObject;

function OnTriggerEnter (Other : Collider) {
if(Other.gameObject.tag == "Player"){

player.transform.parent = floor.transform;
}}

function OnTriggerExit (Other : Collider) {
player.transform.parent = null;
}


続く

265 :名前は開発中のものです。:2014/08/21(木) 16:41:31.12 ID:Jqw6iCnU.net
ケース2がこれです↓
( https://84a708f0eabd3f2702c6ab12a4dde86dc30c463c.googledrive.com/host/0B3YVex4p4Ui0WUhFSkZzODVxaVU/UGOKENAIYUKA.html )

これだとOpenDoorでfloorと一緒に動いてくれますが、今度はキャラクターが操作できません(ジャンプはなぜかできる)。
親子関係のスクリプトは以下

#pragma strict

function OnControllerColliderHit(hit : ControllerColliderHit) {
if (hit.gameObject.name == "floor") {

transform.parent = hit.gameObject.transform;

} else {

transform.parent = null;
}
}

どうすれば動く床と一緒にキャラクターを動かせて、かつ操作できるんでしょう。

266 :名前は開発中のものです。:2014/08/21(木) 16:55:58.91 ID:qmSeZOfZ.net
>>265
アセットをかえば簡単楽にできますよ

267 :名前は開発中のものです。:2014/08/21(木) 18:14:44.56 ID:ZMzzdvjf.net
おそらくキャラクター操作のスクリプトの位置更新情報がワールド座標だから、上書きされてるとか?

ケース2の場合は、完全に、足場とポジションを同期しちゃってるじゃん…

多分、各当たり判定系のスクリプトの更新順序とかだろうけど、もっと詳しい人に期待

位置を更新するときに加算でポジショニングが出来ればいいんだろうけど
これの上下運動版がアングリーボットにあったはず
もしかしたら参考になるかもしれない

268 :名前は開発中のものです。:2014/08/21(木) 19:02:40.96 ID:F8+uwHwG.net
http://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/game/10.html
このチュートリアルまで無事終わらせて、一旦Unityを終了させて再度起動→テストプレイすると

NullReferenceException: Object reference not set to an instance of an object

Manager.IsPlaying () (at Assets/Scripts/Manager.cs:41)

Emitter+<Start>c__Iterator0.MoveNext () (at Assets/Scripts/Emitter.cs:29)

というエラーが出ました。
ManagerオブジェクトのManagerスクリプトコンポーネントを一度消去して
再度同じコンポーネントを取り付けるとエラーが出ずにテストプレイできたのですが
Unityを再起動した時には、やはりエラーが出ます

これは何が原因なんでしょうか
あとエラーを防ぐ方法はありますか?

269 :名前は開発中のものです。:2014/08/21(木) 19:15:42.29 ID:qmSeZOfZ.net
>>268
その手のエラーは、よくあって解決方法としては、アセットをかうことをオススメします

270 :名前は開発中のものです。:2014/08/21(木) 20:19:39.49 ID:uELHl3ca.net
>>268
Managerの中のタイトルオブジェクトが取得されない内に
Emitter側がManagerのタイトルオブジェクト参照してる
関数を呼び出そうとしてる、というのが原因。

解決方法は正直よくわからないw

・スクリプトの実行順序をExcuteOrderで決めてしまう(恐らく確実)
・Managerのタイトルオブジェクトtitleについてpublicにした上でインスペクターで対象を設定してGameObject.Find()は削除。(まず間違いなく確実)
・Managerオブジェクトから一度全部スクリプトを削除して登録の順番を変えてみる(効果あるかわからん)

とか、そんなあたりか?

271 :名前は開発中のものです。:2014/08/21(木) 21:10:17.88 ID:1mqVsYYE.net
実行した時にいずれかのオブジェクトのインスペクタを表示していると
そのオブジェクトについてなるレフが出るみたいなバグがあったな

272 :名前は開発中のものです。:2014/08/21(木) 21:19:40.36 ID:F8+uwHwG.net
>>270
なるほど原因よく分かりました
ExcuteOrder設定するのが簡単で手早かったです
ありがとうございました!

273 :名前は開発中のものです。:2014/08/21(木) 22:32:15.10 ID:jIF4Pxw8.net
>>263
ttp://mcs.jp/flash/93
PCを動く床の子要素にしないやり方だが、俺が2Dで動く床を作るときに参考にした記事。
3Dでも考え方自体は使えると思うのだが、参考になるかな。

274 :名前は開発中のものです。:2014/08/21(木) 22:33:49.87 ID:uELHl3ca.net
>>263
俺も自分がやろうと思ってた実験がてら
ちょこまかいじってたがよくわからんかったな〜。
なんかどっちもできそうな感じなんだが。

ttp://www1.axfc.net/u/3302185

275 :名前は開発中のものです。:2014/08/21(木) 23:14:02.77 ID:Jqw6iCnU.net
>>267 >>273 >>274 
回答ありがとうございます。アングリーボッツはエレベーターの移動(は単に上下させているだけのようでしたが)以外の点も役に立ちそうです。雨を降らせられるというのが地味に発見でした。
271さんのは理屈の理解に役立ちそうです。
>>274さん ナイスです。しばらくいじらせてもらいます。

276 :名前は開発中のものです。:2014/08/22(金) 02:23:31.17 ID:sVGMtpYp.net
Unityを触り始めてとりあえずキャラをanimatorで動かそうとしてるのですが、
初心者講座を真似て
setBool(string,bool)でConditionsで設定した変数を書き換えようとしてもアニメーションが変わらないです…
初心者がやりがちなミスとかありますか?

Play(string)でアニメーション書き換えは動くんだけども…

277 :名前は開発中のものです。:2014/08/22(金) 03:17:23.85 ID:KCdPGFaf.net
>>276
アニメーション変移の矢印の設定は、確認した?

278 :名前は開発中のものです。:2014/08/22(金) 03:24:12.30 ID:xQWI6Sb9.net
>>257
そうですか、ありがとうございます。
(´・ω・`)

279 :名前は開発中のものです。:2014/08/22(金) 04:50:04.97 ID:xQWI6Sb9.net
「ボタンを用意して、
 押したらブラウザを立ち上げて指定のURLを開く」
ということをしたいのですが、
調べようにも取っ掛かりになるキーワードがわかりません。

どのリファレンスを見れば良いでしょうか。
もしくは、直接的なヒント貰えるとありがたいです。

280 :名前は開発中のものです。:2014/08/22(金) 05:15:30.28 ID:np7Y3ytG.net
http://jobinjapan.jp/job-listing/keyword-unity.html

281 :名前は開発中のものです。:2014/08/22(金) 05:18:43.83 ID:1m8E2c2I.net
>>279
スタンドアロンプレイヤーに関しては
ttp://docs.unity3d.com/ScriptReference/Application.OpenURL.html

AndroidとかiOSとかはわからん。
Androidに関してはこんなページもあった。
ttp://stackoverflow.com/questions/18410819/launch-url-in-android-browser-from-unity

282 :名前は開発中のものです。:2014/08/22(金) 05:21:54.69 ID:xQWI6Sb9.net
>>281
説明足りませんでした、iOS です。
でも、頂いたリンク、これから見てみます。
ありがとうございます。
Webviewとか大掛かりなことにならなければ良いんですが…

283 :名前は開発中のものです。:2014/08/22(金) 06:21:14.05 ID:1mQiZxIz.net
物理演算した結果の散乱した玉の配置とか、良い感じにシワの付いたclothとかをそのままの形でScene画面に持っていく方法ってあるのかな?

284 :名前は開発中のものです。:2014/08/22(金) 06:36:04.03 ID:xQWI6Sb9.net
>>281
Application.OpenUrl で普通に行けました!
ぜんぜん違うことを考えてたので、
とても助かりました。
ありがとうございます!

285 :名前は開発中のものです。:2014/08/22(金) 07:04:21.75 ID:1m8E2c2I.net
>>283
どこから?
3DのDCCツールからの話ならUnityの話というより
それぞれのツールにおけるデータのフリーズの問題で
それがどの程度fbx吐き出し出来るか、
どういうやり方があるかはツールによる。
Unity内の話なら、ってそれはないか。
そもそもシーン内にあるものだしなぁ。

286 :名前は開発中のものです。:2014/08/22(金) 08:08:53.09 ID:1mQiZxIz.net
>>285
あ、Unity内の話です
Unityで物理演算させても停止させるとまた元の状態に戻ってしまうので
その物理演算の結果をSceneに反映できないかなあと

287 :名前は開発中のものです。:2014/08/22(金) 08:26:33.31 ID:sVGMtpYp.net
>>277
指定できてますね
ボタンが押されてないとかは無いです。
ボタンが押された時に歩き出すっていうのをしたいのですが・・・

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

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