[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
27: 名前は開発中のものです。 [sage] 2018/06/23(土) 17:08:44.25 ID:GjE91D+n(6/7) AAS
>>25
できました!
https://dl1.getuploader.com/g/zipcodezipcode/171/uni01.gif
が、表示しない場合と表示する場合の
やり方自体を理解していないので
気分が晴れません、、
新しく作ったキーフレームが「表示する状態のキーフレーム」だったので
とりあえずそれをコピーして、
透明ばかりのキーフレームの偶数回目のキーフレームを削除して
そこにペーストしていった感じです。
現状先に進めても、
透明のキーフレーム、非透明のキーフレームを
意識して自分が作ることは不可能ですね。
んーーーー。。。。
28: 名前は開発中のものです。 [sage] 2018/06/23(土) 17:10:24.13 ID:GjE91D+n(7/7) AAS
>>26
>録画ボタン(赤まる)を押して、各キーフレームのところで、チェック、録画オフ、
>次のフレーム、録画押す、チェック外す、録画オフ、次のキーフレーム行く
の繰り返し
なんとなく、わかってきました。
慣れていきます、回答してくださり本当に
ありがとうございます!
29(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/23(土) 18:37:43.29 ID:3i5tK2/L(4/6) AAS
>>23
崩壊学園の動画見て見ました
いわゆる奥行きのある横スクなのかな?
まぁUnityでやるなら普通に2Dプロジェクトに3Dの床配置して、カメラを斜め視点にすれば
実装できると思いますけど、あとは奥に行ったときにキャラのスケール調整するくらいでしょうかねぇ
30(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 19:36:04.61 ID:NjQULgZx(2/2) AAS
キーフレーム、複数選択してチェック、できなかったかな?
ctrlかoptionキーおしながら選択すればできたような。
31(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 21:46:37.14 ID:4AT8m98h(1/2) AAS
>>30
アセットを購入すればできるようになると思いますよ
32(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/23(土) 22:13:37.51 ID:3i5tK2/L(5/6) AAS
>>31
こっちのスレでは禁止ワードなので、ちゃんと>>1読んでからレスしてください
33(1): 名前は開発中のものです。 [sage] 2018/06/23(土) 22:15:16.11 ID:4AT8m98h(2/2) AAS
>>32
アセットを買えば禁止もできるようになると思いますよ
34(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/23(土) 23:12:44.80 ID:3i5tK2/L(6/6) AAS
>>33
スレローカルルールに違反なので嵐通報させてもらいますね
35(2): 名前は開発中のものです。 [] 2018/06/24(日) 00:59:23.55 ID:W8n17fCJ(1) AAS
>>29
そうです!奥行きのある横スクです!
カメラを斜め視点にするというのも一度試してみましたが
変に奥行きがついてしまって微妙な感じでした。
うーん。物理エンジンを使わないで直接プログラムを組むしかないのかな。
36(2): 名前は開発中のものです。 [] 2018/06/24(日) 01:27:17.64 ID:k+l2FErP(1/3) AAS
Unityは最近始めたばかりなのですがオブジェクトをオブジェクトにぶつけると
痙攣したようにガクガクとしてしまいます。
ちゃんとしっかり止まるようには出来ないでしょうか
interpolateやCollisionDetectionを変えてみましたが無駄で
Fixed.timestepというのを小さくした所しっかり止まるようにはなったのですが
どこのサイトでもゲームが重くなると注意書きがあって誰かにプレイしてもらう時に
止まったりしないか心配です
37: 名前は開発中のものです。 [sage] 2018/06/24(日) 05:52:59.17 ID:yUQoP5Fq(1/4) AAS
>>35
いわゆる2.5D。2Dじゃなく3D。カメラのprojectionはperspective。2Dスプライトに3Dのrigidbodyとコライダーつけるのが手っ取り早い。奥行きはカメラの位置や向きや視野角を調整。どんな本を見てるのか分からないけど、スクロールは本に載ってるやつでできるかも知れない。
38(1): 名前は開発中のものです。 [sage] 2018/06/24(日) 06:08:35.07 ID:yUQoP5Fq(2/4) AAS
>>36
どういうぶつけ方をしているのかわからないけど、physicMaterialのbouncinessを0にして各々のコライダーにつけとけば、いいかも。
39(2): 名前は開発中のものです。 [] 2018/06/24(日) 08:56:29.31 ID:k+l2FErP(2/3) AAS
>>38
ぶつけかたというのはスクリプトでいいでしょうか
public float speed = 3f;
float moveX = 0f;
float moveY = 0f;
Rigidbody2D rb;
void Start(){
rb = GetComponent<Rigidbody2D> ();
}
void FixedUpdate () {
moveX = Input.GetAxis ("Horizontal") * speed;
moveY = Input.GetAxis ("Vertical") * speed;
rb.velocity = new Vector2(moveX, moveY);
}
40(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/24(日) 10:02:56.29 ID:jJ6M8/KE(1/3) AAS
>>35
https://imgur.com/a/x8i6Yjs
ちょっと雑だけどこんな感じかな
スケールいじらなくても奥に行けば小さくなるので簡単にいけそうですね
上下で奥、手前、左右の動きをプログラムで組めばいいかと。
カメラを斜めにしているのと同じ角度にオブジェクトもしています
これは3Dオブジェクトを配置してますが2Dプロジェクトなのでコライダ関係は2Dを使うといいかと思います
41(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/24(日) 10:19:02.77 ID:jJ6M8/KE(2/3) AAS
>>36
>>39
ぶつかった時の処理がないような気がするのだけど、ぶっかった時にスピードをゼロにするとかは?
>>40
オブジェクトはスプライトでも当然問題ないです
42: 名前は開発中のものです。 [sage] 2018/06/24(日) 10:38:50.20 ID:yUQoP5Fq(3/4) AAS
キー入力みたいに継続した入力で動かすなら、velocity使わずにaddforceが無難だと思う。
43: 名前は開発中のものです。 [] 2018/06/24(日) 10:59:19.98 ID:k+l2FErP(3/3) AAS
>>41
ぶつかったときの処理は何も無いですね…
試してみたら上手く止まりました!
また困ったら質問します
44: 名前は開発中のものです。 [sage] 2018/06/24(日) 10:59:32.31 ID:yUQoP5Fq(4/4) AAS
>>39
これだとぶつかってなおキー押していると、あらぬ方向にぶっ飛んでいくよね。進めない方向にF=mv/tの力加えるんだから、ガグガクして止まらないどころじゃない。
そして、公式のスクリプトリファリンスにあるように、
ほとんどの場合、非現実的な挙動になるため速度を直接修正するべきではありません。
オブジェクトの速度を物理ステップごとに設定しないでください。これは非現実的な物理シミュレーションに繋がります。
速度を変更する上での典型例は、ファーストパーソン・シューティングでのジャンプ時にあります。即座に速度を変更したいためです。
だから。
どんなサンプルを見たか知らないけど、運が悪かったですね。
45(1): 名前は開発中のものです。 [sage] 2018/06/24(日) 19:35:53.81 ID:5VtlLUIj(1) AAS
アセットを買えばサンプルを見なくてもできますよ
46(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/24(日) 19:59:04.97 ID:jJ6M8/KE(3/3) AAS
>>45
複数の書き込み確認です
なお、規制されるとこの板全部書き込み出来なくなるのでよろしくです
取り合えず、複数の通報してます。
来週もあるようなら他からも通報させてもらいます
あちらに書き込みしたければ、これで止めてくださいね
47: 名前は開発中のものです。 [sage] 2018/06/24(日) 20:58:57.27 ID:J7+ya1Cs(1) AAS
>>46
別人だよお馬鹿さん
48(1): 名前は開発中のものです。 [sage] 2018/06/25(月) 00:56:25.31 ID:Gjh1k0no(1/6) AAS
Wave型ってなんですか? 波型?
検索してもUnity上での組み立て方法ばかりなので
その言い回しはUnity独特のものですよね?
Wave型というものはどういう型なのか、教えてください。
49: 名前は開発中のものです。 [sage] 2018/06/25(月) 01:02:26.71 ID:Gjh1k0no(2/6) AAS
また、プレハブにあるファイルの複製方法ってありますか?
左クリックの項目にコピーが見当たらないので。
ファイル開いて直接複製しても大丈夫なんでしょうか
50: 名前は開発中のものです。 [sage] 2018/06/25(月) 01:13:13.22 ID:kEKgPmD2(1) AAS
あります
51: 名前は開発中のものです。 [sage] 2018/06/25(月) 01:54:54.97 ID:49rW5epg(1) AAS
エクスプローラーでコピーしてちょっとすればMetaファイルも自動で作られる。
でも、ファイルだから名前かぶるとダメだぞ。
楽なのはヒエラルキーに一度いれて、そこから何回もアセットにドラッグアンドドロップするのが良いかな。
勝手に名前の後ろに連番降られるけど。
52: 名前は開発中のものです。 [sage] 2018/06/25(月) 02:13:33.57 ID:hF+d1Szw(1) AAS
ctrl+c ctrl+vじゃできなかったっけ?
53: 名前は開発中のものです。 [sage] 2018/06/25(月) 02:19:59.51 ID:blMz7gxQ(1) AAS
ctrl+dだよ
削除っぽいけど複製だよ
ほんとだよ
だまされたと思ってやってみなよ
54: 名前は開発中のものです。 [sage] 2018/06/25(月) 02:33:23.61 ID:FHHIRSk8(1) AAS
CTRL+ALT+DEL だよ!
55: 名前は開発中のものです。 [] 2018/06/25(月) 03:57:48.26 ID:Gjh1k0no(3/6) AAS
プレハブにあるコピーできないファイルを
ヒエラルキーにドラッグすると
「Unable to instantiate prefab. Prefab may be broken.」
とエラーが出ました。
このせいだった様です。
、、というか、いきなり、壊れる、とかこんなことあるんですか??
フレハブ内のファイルが壊れるケースを教えてください。
修復は、そのプレハブファイルを最初から作るしかないですよね?ソースとかないですから。
Unityではそういうリスクがあるんですね。。
56: 名前は開発中のものです。 [] 2018/06/25(月) 03:59:16.85 ID:Gjh1k0no(4/6) AAS
コピー方法に対してレスくださった皆さま、ありがとうございます
いろいろ試してはいたんですが、壊れていたのでコピーできなかったようです、、、
57: 名前は開発中のものです。 [] 2018/06/25(月) 04:01:17.30 ID:Gjh1k0no(5/6) AAS
ちなみに、エラー全文はこれです。
壊れている、とありますが、具体的な状況わかりますか?
Unable to instantiate prefab. Prefab may be broken.
UnityEditorInternal.InternalEditorUtility:HierarchyWindowDrag(HierarchyProperty, Boolean, HierarchyDropMode)
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)
58(1): 名前は開発中のものです。 [] 2018/06/25(月) 05:42:54.13 ID:Gjh1k0no(6/6) AAS
とりあえず、壊れたプレハブファイルは
新しく作り直し、解決しました。
59: 名前は開発中のものです。 [sage] 2018/06/25(月) 06:07:18.49 ID:CdBJ6SaM(1/2) AAS
>>58
お疲れちゃん、プレファブに使ってたファイルやら子プレファブやを削除してたら壊れてるって出るけど、エラーメッセージまでは覚えてないや。
wave型はどばっと来てそれをやっつけるタイプだよ。第1波とか言うとピンとくるかな。
60: 名前は開発中のものです。 [sage] 2018/06/25(月) 06:53:23.94 ID:Z5gZAoLF(1) AAS
>>48
unity独自の呼び方ではないよ。
61(1): 名前は開発中のものです。 [sage] 2018/06/25(月) 08:19:02.64 ID:GOooUkoF(1) AAS
UnityでFortnite作れる?
62: 名前は開発中のものです。 [sage] 2018/06/25(月) 08:48:24.45 ID:nUVruEF5(1) AAS
fortniteはunreal enginで作ってるんでしょ
63: 名前は開発中のものです。 [sage] 2018/06/25(月) 11:33:06.26 ID:zyvS5Xn9(1) AAS
>>61
アセットを買えば簡単ですよ
初心者はまずアセットを検索する技術から磨きましょう!
64: 名前は開発中のものです。 [sage] 2018/06/25(月) 18:00:43.64 ID:CdBJ6SaM(2/2) AAS
アセットストアも公式のスクリプトリファリンスも検索遅いですよね。リファレンスページの検索よりgoogleの検索使ってリファリンスに飛んだ方が数倍早いのなんとかならないの。
65(4): 名前は開発中のものです。 [sage] 2018/06/26(火) 12:46:16.79 ID:coUVwrcB(1) AAS
お目汚し失礼致します。
つい最近Unityに手を出した者なのですが、GameObjectとPrefabの扱いでいくつか質問があります。
1.オブジェクトをプレハブ化した後、シーン上で元のオブジェクトを削除(単純に見えないようにする、という意味です)するにはどうすればよいのか?
2.例えばキャラクターの装備を変更したい時にはプレハブ化したオブジェクトをインスタンスで呼び出せば良いらしいが、その元オブジェクトはどこに置いておけばよいのか?
初心者丸出しの質問ですが、お教え頂ければ幸いです。よろしくお願い致します。
66: 名前は開発中のものです。 [sage] 2018/06/26(火) 13:02:15.32 ID:yQPPs3aZ(1) AAS
>>65
アセットストアに装備関係のアセットがありますよ
67(1): 名前は開発中のものです。 [sage] 2018/06/26(火) 13:19:54.02 ID:wlaWupK1(1) AAS
>>65
http://neareal.net/index.php?ComputerGraphics%2FUnity%2FTips%2FScript%2FDynamicAssetsLoading
これか、データ格納オブジェクト&スクリプトをつくってあらかじめ貼っておく。
68(1): 名前は開発中のものです。 [sage] 2018/06/26(火) 13:22:02.33 ID:waiFArGb(1) AAS
>>65
プレハブ化できている(フォルダ内に移した)なら元のゲームオブジェクトは削除しても問題ない
なにか訳あって残したいんなら左上のチェックボックス外して非活性にするかカラーを透明にする
69: 名前は開発中のものです。 [sage] 2018/06/26(火) 13:43:37.72 ID:j4B4mR6e(1/2) AAS
>>67 オブジェクトの読み込みはスクリプトでの制御が良さそうですね、ありがとうございます。
>>68 なるほど、プレハブ化すれば元オブジェクトは要らないのですね…なんか勝手に「プレハブ化元は消せない」と思い込んでいました。ありがとうございます。
70: 名前は開発中のものです。 [sage] 2018/06/26(火) 13:45:21.87 ID:j4B4mR6e(2/2) AAS
あ、ID変わってますが>>65です
71(1): 名前は開発中のものです。 [] 2018/06/27(水) 02:26:34.93 ID:MZGUGuBC(1/2) AAS
すみません、変な質問で申し訳ないのですが
Unityには様々なコンポーネントがありますよね。
公式にて、ゲームオブジェクトが空鍋なら、
コンポーネントはそこに入れる具材だと書いてました。
で、すべてのゲームオブジェクトの、どんなコンポーネントでも、
スクリプト(ソースコード)上で取得することができる、という
私の認識は間違って居ませんでしょうか?
72: 菩薩@弟子 [sage] 2018/06/27(水) 05:23:47.81 ID:/3PKTmvf(1) AAS
汝らよ、空鍋に入れる具材はキムチと知りなさい。
鍋のキムチを取得したければアセットを買えばよい。
初心者は、我が見守るこのスレで、誉れと思って、そのことを深く記憶にとどめておきなさい。
73(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 06:27:43.37 ID:BdTG0UH4(1) AAS
>>71
間違ってないよ
74: 名前は開発中のものです。 [sage] 2018/06/27(水) 09:19:34.18 ID:MZGUGuBC(2/2) AAS
>>73
ありがとうございました。
75(2): 名前は開発中のものです。 [sage] 2018/06/27(水) 11:41:14.25 ID:NupjzNCO(1/2) AAS
Hierarchyのラベルの大きさを変えるにはどうしたらいいですか?
リストの行の高さを変えるのが目的です。
76: 弟子 ◆rZPPjYuxmQ [sage] 2018/06/27(水) 13:26:27.49 ID:rsgWo6Ac(1/4) AAS
>>75
色々と調べましたが、直接ヒエラルキーウィンドを変更するのはないですね
別のエディトウィンドで新規にヒエラルキーを作成してやるなら出来るようです
ただし、かなり難しいので根気がいると思います
別のヒエラルキー作成
http://anchan828.hatenablog.jp/entry/2013/12/24/210139
エディタ画面のフォントスタイル変更
http://baba-s.hatenablog.com/entry/2015/05/10/114527
77: 弟子 ◆rZPPjYuxmQ [sage] 2018/06/27(水) 13:53:39.42 ID:rsgWo6Ac(2/4) AAS
一応、サンプルのを2行表示してみたところ、行をかなり開けてます
https://i.gyazo.com/f3d5ba142b9547aabe8cb7a4a0589af1.png
78: 75 [sage] 2018/06/27(水) 13:54:00.81 ID:NupjzNCO(2/2) AAS
直接は無理なんですね。
上記のサイトを参考にして自作してみます。
79(3): 名前は開発中のものです。 [sage] 2018/06/27(水) 15:12:21.69 ID:07W788OP(1/3) AAS
C#を使用して2Dゲーム制作をしている初心者です
左右の方向キーを使い、特定の位置五ヶ所にキャラクターを移動させるにはどのようにしたらいいのでしょうか?
・移動箇所
☆キャラクター
・ ・ ☆ ・ ・
80(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 15:31:24.61 ID:mQnQFUMP(1/3) AAS
>>79
左右キーが押されたらキャラクタの座標を変更すればいい
各位置を0〜4の番号を割り振っておいて、今キャラクタが何番にいるか記憶しておく
3番にいるときに右キーが押されれば4番に移動すればいいので4番の座標に動かす
4番にいるときに右キーを押されたら0に行くのか4のままなのかは仕様次第
81(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 15:51:48.80 ID:07W788OP(2/3) AAS
>>80
ありがとうございます
使うのはifでいいのでしょうか?
82(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/27(水) 16:32:19.34 ID:rsgWo6Ac(3/4) AAS
すごく単純なサンプルなんだけど役に立てば…
https://i.gyazo.com/ef87d68ef77ff58c18204f0ec9262445.png
SSのようにあらかじめ決められた場所に配置しておきます、でインスペクタでオブジェクトを指定し、Start関数で一旦全部非表示にします。
https://i.gyazo.com/cfc38424c56b616625b93c313f8aebcc.png
あとはキーが入力されたら、その位置のオブジェクトを表示する
https://imgur.com/a/7O3lHgW
83: 名前は開発中のものです。 [sage] 2018/06/27(水) 16:43:13.77 ID:mQnQFUMP(2/3) AAS
>>81
たぶん自覚してるんだろうけどスタートラインにも立ててないような初心者なんで82のサンプルでも見て何がどうなってるか理解するとこから始めよう
このサンプルが実現したいものを再現してるとは思わんが、これくらいは問題なく理解できないとゲーム作るなんて夢のまた夢
84(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 16:45:01.72 ID:07W788OP(3/3) AAS
>>82
私のような初心者にサンプルまでつけていただいて…大変恐縮です
ありがとうございます
サンプルを参考に頑張ってみます
85: 名前は開発中のものです。 [sage] 2018/06/27(水) 16:45:40.74 ID:mQnQFUMP(3/3) AAS
っていうかキャラクタの移動、って質問者が言ってるのにactiveの切り替えでサンプル作るってすごい発想だな
移動を歩いてるよう見せたいとかしたくなったら破綻すんじゃん
86(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 17:40:42.14 ID:Fqeg8KbG(1) AAS
瞬間移動ならいいんじゃね。
直接座標いじるのもいいが、決まった座標かつ少数の移動先なら有効っちゃ有効。
慣れるまでならTranaformいじるよりこっちの方が混乱しないだろ、多分。
87(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 18:06:05.29 ID:b8c+3yQw(1) AAS
漠然と質問なんだから良いんだよ。
キー入力の時、押しっぱとかの対応を書こうとしたけど、要らぬお世話と判断して辞めた。
今はこれぐらいで充分だとね。
88(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 18:40:50.61 ID:bK0Eiav/(1/2) AAS
>>86-87
何故「弟子 ◆rZPPjYuxmQ」を外して返信するんだ?
何か不都合でもあるのか
分かりづらいのだからコテハン付けたまま同じ端末で書き込んでくれないか
89(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 19:58:04.86 ID:BDZcCUCN(1) AAS
>>88
禁止事項に違反してますね
荒らしとして通報させて貰います
この板全体に書き込みできなくなりますよ
90: 名前は開発中のものです。 [sage] 2018/06/27(水) 21:05:06.42 ID:bK0Eiav/(2/2) AAS
>>89
>■注意事項
>「アセットを買えば」「チュートリアルやれ」等禁止、初心者の質問疑問に初心者が答えるスレ、ググれじゃなく何のキーワードでググったらいいかを書く
どこのどの部分に違反しているの?
ちょっと見てる人全員に分かるように詳しく説明してくれない?
91(1): 名前は開発中のものです。 [sage] 2018/06/27(水) 22:34:23.72 ID:kjyTyUbj(1) AAS
EditorフォルダにBuildPipeline.BuildAssetBundlesのscriptをいれて
プレハブを選択してメニューからBuildAssetBundlesをしてアセットを作りました
UnityStudioから覗くとScene HierarchyはGameObjectだらけ(1つめの画像)
Asset ListのTexture2Dを選択しても何も表示されません。(2つめの画像)
何が問題なんでしょうか。
https://i.imgur.com/nuqT3uz.jpg
https://i.imgur.com/OJ145K6.jpg
92(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/27(水) 23:19:29.07 ID:rsgWo6Ac(4/4) AAS
>>84
めげずに頑張ってください、私で分かる事であればお答えしますので
一応、スムーズにムーブするサンプルです(画像だけ)
ソース欲しいならどっかにうpしますね
https://imgur.com/a/xmOYSqk
>>91
ここは素人だらけなので、すごく難しい質問ぽいですね、さくっとアセットバンドルのところを斜め読みしたのですが
ビルドしたのを取り込んで使う場合ってAssetBundle.LoadAsset とかでロードするんでは?
こちらのスレだと解決には厳しいかもしれません
93(1): 名前は開発中のものです。 [sage] 2018/06/28(木) 01:28:30.00 ID:r9ZDJtDU(1) AAS
>>92
研究したいのでソース見たいです
よろしくお願いします
94: 名前は開発中のものです。 [sage] 2018/06/28(木) 06:22:42.46 ID:/+kZ1wVw(1/9) AAS
スムーズに動かしたいならTransrateかAddforce使う。
物理挙動も取り入れるならAddforceで物理はどうしても取り入れたくないならTransrateと使い分ける。
サンプル丸コピじゃ成長しないし、少なくとも俺の解説よりは分かると思うから、少しはググるといいと思うよ。
95: 名前は開発中のものです。 [sage] 2018/06/28(木) 06:25:01.98 ID:/+kZ1wVw(2/9) AAS
すまんスペル間違えてた。
TransrateじゃなくてTranslateな
96: 弟子 ◆rZPPjYuxmQ [sage] 2018/06/28(木) 12:00:33.21 ID:/UzN8HYz(1/9) AAS
>>93
リファクタリングして短くなったのでSSであげますね
まぁまたケチ付けたい人が色々と文句ダケ言ってくるかもしれないけど気にせずに
まずは、ソース丸パクリでもどう動いているのか理解する事が重要で
その後に、少し修正してみて、例えば2つ先まで動くとかね
あと今は右、左の最大値は入れてないのでどこまでも行きます
そこは自分で最大値3以上は行かないという感じで修正してみてください
自分も最初は雑誌のBASICを打ち込んで覚えたので丸写しは有効な手段だと思います
https://i.gyazo.com/3bd49202b10be38565706a225ef0817e.png
https://i.gyazo.com/61e8b2b63be8983c9895bc7807c3592e.png
変数の説明すると
dir 方向
limit 移動限界
移動後、X座標が少数になるのはdeltaTimeを掛けているからなので、まぁこの辺も移動にぴったしな整数にするという事も勉強になる修正かなと思います
97(1): 名前は開発中のものです。 [sage] 2018/06/28(木) 14:20:39.58 ID:9SECcI4o(1/2) AAS
んじゃ、せっかくだからケチつけてみようかな。
サンプルなんだから分かりやすく書いたほうがいいよ
ってことで、v2posのスコープが広すぎる。Update関数内のローカル変数でいい。ってかv2pos.xしか使ってないんだからfloat pxにしとけばいいだろ。理解するのに30秒かかったわ。(変数生成負荷を嫌ったんだろうけど、見やすさは重要だと思うんだ)
てかlimitって名前が分かりにくい。x座標の目的地なんだからtargetXとかでいいんでね?30秒(略)
98(1): 名前は開発中のものです。 [sage] 2018/06/28(木) 14:28:13.80 ID:9SECcI4o(2/2) AAS
ついでに、dirこそUpdate関数内ローカルでいい。
int dir=tfTriangle.position.x<limit?1:-1;
って書いとけばcheckrightのなかでdirをゼロにする必要もない。
99(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/28(木) 14:29:20.15 ID:/UzN8HYz(2/9) AAS
>>97
これ悪い例ね
pxにして直接potisionに代入できないから、たぶんこの人は作ったこと無くて覚え立てのスコープとか使ってわざわざ自分の才能のなさを書きにきてるのね
そんな時間あるなら自分流のサンプル作って出せばいいのに
100(2): 名前は開発中のものです。 [sage] 2018/06/28(木) 14:39:42.06 ID:UPpeKgHO(1/6) AAS
つーかbasicからやってるような人間がリファクタリングして他人に見せる用として提示するコードがこれなの?
変数大文字から始めるわ、ハンガリアンつけるわでびっくりなんだけど
初学者のため思うならこそちゃんとしたコード見せてあげるべきなのに
101(1): 名前は開発中のものです。 [sage] 2018/06/28(木) 14:53:19.52 ID:/+kZ1wVw(3/9) AAS
>>100
ハンガリアンもスネークも人それぞれだろ。初心者スレでそんな細かいことで煽るなよ。
こういう記法がいいと思うってアドバイスだけでいいじゃん。
ちなみに俺はローワーキャメルが好きだ。
記法についてはここな。
https://www.google.co.jp/amp/s/earley.jp/blog/development/camelcase-hungariannotation-snakecase-programming/amp/
102: 名前は開発中のものです。 [sage] 2018/06/28(木) 14:56:43.12 ID:UPpeKgHO(2/6) AAS
vector2.zero知ってるならrightやleftも使おうよ
なんすか、dir=1って
なんでv2pos.xに代入したあとcheck関数呼んでからv2posを代入してんの?
check関数でなにかしてるわけでもないならそいつらあとでいいよね?
check関数切り替えてるけど切り分け方がよくわからん
キー入力、移動先計算、移動方向判定、移動
移動方向判定だけなんで関数化したの?checkって名前もどうかと思うけど、まぁ命名はいいや
103(1): 名前は開発中のものです。 [sage] 2018/06/28(木) 14:57:38.47 ID:/+kZ1wVw(4/9) AAS
ハンガリアンに否定的なサイトしか見つからなかったが、ハンガリアンにも間違ったコードが間違って見えるって長所があるからな
104: 名前は開発中のものです。 [sage] 2018/06/28(木) 14:59:54.67 ID:UPpeKgHO(3/6) AAS
>>101
人それぞれだけどサンプルとして提示するならせめて公式に合わせるべきでは?
このコードを参考にしてください、って初心者に提示してるんだよ?
if使うんですか?ってレベルの初心者に
105: 名前は開発中のものです。 [sage] 2018/06/28(木) 15:01:01.11 ID:UPpeKgHO(4/6) AAS
>>103
システムハンガリアンとかでググればハンガリアンの本来の意味を解説したとこ見つかるよ
間違ってもGameObjectだからgoってつけようなんて発想にはならん
106(1): 名前は開発中のものです。 [sage] 2018/06/28(木) 15:11:47.18 ID:h3xp0Kjr(1) AAS
>>99
変数生成負荷とか言ってるんだからfloat型pxをxにしたnew Vector2を生成しろってことだろ
107: 名前は開発中のものです。 [sage] 2018/06/28(木) 15:17:43.19 ID:K46AO26G(1) AAS
俺、駄目なハンガリアンの使い方してるわw
勉強になるなぁ
108(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/28(木) 15:20:04.03 ID:/UzN8HYz(3/9) AAS
大漁だなw
サンプル作れないけど文句しか言えない人がこんなに居るんだねー
一応ここは素人が素人に答えるスレなので、素人にも分かるようにみなさんもサンプル提示すればいいと思うよ
きっと頭いいから見やすくて分かりやすいサンプル提示してくれるんだろうなぁ
だよねー
まさか、文句だけ言ってプログラム書けないとかないよね?
109: 名前は開発中のものです。 [sage] 2018/06/28(木) 16:01:20.93 ID:qauh58MA(1) AAS
上のサンプルで充分だろ。
揚げ足とってウダウダ言っても、質問者の為にならんぞ。ほんとケチだけは立派なんて頭悪すぎるから辞めなよ。
110(1): 名前は開発中のものです。 [sage] 2018/06/28(木) 16:07:14.65 ID:/+kZ1wVw(5/9) AAS
>>108
俺のスパゲティーコードでいいならのせるぞ
111(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/28(木) 16:07:56.12 ID:/UzN8HYz(4/9) AAS
最後のサンプル
Unityという事でアニメにして動かしてみた
まぁこういう事も出来るという事で…
https://i.gyazo.com/757bba69607b381739ab1976c078cf09.png
https://i.gyazo.com/17843bf97b820b605fec6434d4a2b9b5.png
https://imgur.com/a/xUWY8E3
つまり何が言いたいかというと、一つのやりたいことを行うのに沢山のやり方があって
そのどれをやってもいいしコードの書き方も色々とあるわけさ
まぁ仕事として他人と共同で作成とかになるとコード規約とか出てくるけど
まぁこんなとこでホビーとしてやる分には、まず動かしてみる事が一番大事
口だけで文句言うのが一番進歩もしないって事よ
112: 弟子 ◆rZPPjYuxmQ [sage] 2018/06/28(木) 16:11:42.18 ID:/UzN8HYz(5/9) AAS
>>110
是非是非、他人のコードはいい勉強になりますので見て見たいです
自分では思ってもみない「気づき」が必ずあるので
>>111
public Transform trTriangle;
private void Awake()
{
trTriangle = GetComponent<Transform>();
}
これ使ってないので外すの忘れました^^;
113: 名前は開発中のものです。 [sage] 2018/06/28(木) 16:42:26.57 ID:UPpeKgHO(5/6) AAS
111が初心者向けとしてのサンプルとしては一番良いと思う
なんでactiveの切り替えなんてトリッキーとも取れるような手法を一番に持ってきたんだろう
animatorだと他の要素を加えるときに制約になる可能性があるから、別手法として96みたいにすることもできるって流れが普通だと思うけど
114: 名前は開発中のものです。 [sage] 2018/06/28(木) 17:06:10.17 ID:/+kZ1wVw(6/9) AAS
とりあえずてきとうに作った。
自分でもクソコード書いてるかわからんからどんどん指摘してくれ。よくない癖とかついてそうで怖いからな。
画面内に収まるようにもしてみた。
https://i.imgur.com/Cor5zzP.png
115(2): 名前は開発中のものです。 [sage] 2018/06/28(木) 17:06:14.63 ID:/+kZ1wVw(7/9) AAS
とりあえずてきとうに作った。
自分でもクソコード書いてるかわからんからどんどん指摘してくれ。よくない癖とかついてそうで怖いからな。
画面内に収まるようにもしてみた。
https://i.imgur.com/Cor5zzP.png
116: 名前は開発中のものです。 [sage] 2018/06/28(木) 17:07:01.22 ID:/+kZ1wVw(8/9) AAS
うわ、連投すまん。
117: 名前は開発中のものです。 [sage] 2018/06/28(木) 17:17:38.71 ID:UPpeKgHO(6/6) AAS
>>115
特に気になるとこ無い気がする
min maxは画面サイズが変更されたときに再計算すればいいじゃないとか思ったけど、この程度の処理気にするもんでも無いし
118(2): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/28(木) 17:42:03.28 ID:/UzN8HYz(6/9) AAS
>>115
GetAxis便利ですよねー
ただ今回の最初の要求って>>79なので上下いらないかなと思うのです
それと、位置移動なんですが、これって指定位置で止まるんでしょうか?
ちなみに自分はSerializeFieldの使い方知らないのですけど
TransformがPrivateなのですが、これってどこで指定するんでしょうか?
インスペクタじゃ出来ないですよね?
119: 弟子 ◆rZPPjYuxmQ [sage] 2018/06/28(木) 17:44:41.51 ID:/UzN8HYz(7/9) AAS
あ、あとspeedもSerializeFieldになってますけど
ただこちらも初期値入ってないけど、もしかしてSerializeFieldにするとどっかで初期化されるというか
アタッチしたオブジェクトの何かを持ってきてくれるのでしょうか?
ちょっと自分にはわからない事が多いかもしれません><
120(1): 名前は開発中のものです。 [sage] 2018/06/28(木) 17:55:42.78 ID:/+kZ1wVw(9/9) AAS
>>118
SerializeFieldはprivateでもインスペクタで値を設定できるようにする属性だよ。
publicにしたらどこから値が変えられるかわからないからprivateにしてるんだけど、それじゃインスペクタで参照できないからこの属性で強制的にシリアライズしてる。
121: 名前は開発中のものです。 [sage] 2018/06/28(木) 18:57:50.31 ID:H6a6imyl(1) AAS
>>118
止まるというより2点で指定された長方形区画から外れると枠上に移動するようになってないか
122(1): 弟子 ◆rZPPjYuxmQ [sage] 2018/06/28(木) 19:22:46.38 ID:/UzN8HYz(8/9) AAS
>>120
なるほど、これは便利な機能ですね!勉強ななりました!
ありがとう
123: 名前は開発中のものです。 [sage] 2018/06/28(木) 19:37:21.68 ID:TZKnsOc7(1) AAS
>>106
俺が反論しようとしたポイント先取りするなよwww分かってくれてありがとう!
>>98のコードだと振動しちゃうので、そっち突っ込まれるかなと思ったけど、検討違いな突っ込みだったのでびっくりだよw
124: 名前は開発中のものです。 [sage] 2018/06/28(木) 21:57:18.70 ID:cx/Kc4dr(1/2) AAS
>>79
int[] x=new int[]{-8,-4,0,4,8};
int sw;int dir;int n=2;float nextX;
void Start(){transform.position=new Vector2(x[n],0);}
void Update () {
if(sw==0){
if(Input.GetKeyDown(KeyCode.A)&&n>0){sw=1;dir=-1;n=n-1;nextX=x[n];}
if(Input.GetKeyDown(KeyCode.D)&&n<4){sw=1;dir=1;n=n+1;nextX=x[n];}
}
if(sw==1){
transform.Translate(new Vector2(0.1f*dir,0));
if(dir==1&&transform.position.x>nextX){sw=0;transform.position=new Vector2(nextX,0);}
if(dir==-1&&transform.position.x<nextX){sw=0;transform.position=new Vector2(nextX,0);}
}
}
125: 名前は開発中のものです。 [sage] 2018/06/28(木) 22:00:25.96 ID:cx/Kc4dr(2/2) AAS
floatにする必要なかったな
126(1): 名前は開発中のものです。 [sage] 2018/06/28(木) 23:02:09.99 ID:pfPaTp9f(1) AAS
>122 弟子 ◆rZPPjYuxmQ 2018/06/28(木) 19:22:46.38ID:/UzN8HYz
なんでコイツ質問スレ乱立してんの?
【ゲームエンジン】Unityなんでも質問スレpart1
1 名前:名前は開発中のものです。 2018/06/28(木) 15:25:16.78 ID:/UzN8HYz
上下前次1-新書関写板覧索設栞歴
あと 876 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.028s