浅パチャエンジニアの落書き帳

浅瀬でパチャパチャ楽しんでるITエンジニアが色々残してこうかと思ってます

Unity公式チュートリアル2日目

最近ゲームしてるとPCが勝手に再起動する……
もう買ってから6年ほど経つし、コイツも寿命を迎えようとしてるのかもしれない

今日やったこと

Unity公式チュートリアル4章

今日はそこまで量やってないのもあって、メモるほどのものはなかったかな?
ただ1点困ったことがあったので一応記録に残しとく

Unity側で追加したスクリプトがVisualStudioに反映されない!

Unity側のUI使ってC#スクリプトを新規追加した際、既に開いているVisualStudioに追加したスクリプトが表示されませんでした。
VisualStudio側エクスプローラの更新ボタンみたいなの押しても反映されず、解決法は謎……

ごちゃごちゃ色々触っていると、「外部で変更がありました。適用しますか?」みたいなダイアログが出てきて、OKを押せば反映されて解決されました。

VisualStudio側で追加したスクリプトはUnityに反映されてるしよくわからん!
とりあえず簡単な解決法としては

スクリプトを追加する際はVisualStudio側から行う

になるかなぁ……

叫び

何日間かチュートリアルとか触ってて、いくつか思ったことを叫びたくなったので

Javaやっててよかった!!

ほんとこれ
Javaやってるから少なくともスクリプト周りの説明はあーなるほどあれねって感じで読み進められる
プログラミングほとんどやったことない状況だったら地味に公式チュートリアルでも読むのしんどかったかもしれない……

パラメータってスクリプトから設定しないんですか!?

クラス?にフィールドを設定して……ってとこまでは普段やってるJavaの開発と一緒なんだけども、
GetterSetter使わないことにただただびっくり
や、知らないだけで何が普通かなんてわかりませんけどもね
Unityの画面からパラメータとか今後も設定していくのかな……
なんかいざ作るとなったらどこを共通化するとかの設計回りがめちゃくちゃ大変そうな気がしてます

以上!

Unity公式チュートリアル1日目(スクリプト)

スクリプトは分けた方が後で調べやすそうなのでフォルダごと分けちゃおうってことで

移動の入力

クラス名 説明
Input.GetAxisRaw(string axisName) 0, 1, -1で入力方向を感知する
Input.GetAxis(string axisName) スティックみたいに中間の値が欲しい時はこっち

スクリプト内でprefabを使う

スクリプト内で以下のように宣言

    public GameObject bullet;

するとスクリプトをアタッチしたオブジェクトを選択した時にInspectorビューにこんな感じで出る
f:id:shacchin:20171126172241p:plain

あとはこのNone(GameObject)にドラッグ&ドロップでプレハブとかを放り込めばok

Unity公式チュートリアル1日目

FF14楽しい
ついついゲームをやってしまう毎日ですがちょっとずつはこっちも進めていきます……

今日やったこと

Unity公式チュートリアルを進めてます
Unity - 2Dシューティング

以下やった中で覚え解いた方がよさげなことをざっくりと

スクリプトに関してはこっち
Unity公式チュートリアル1日目(スクリプト) - 浅パチャエンジニアの落書き帳

WebGL

環境設定をする際、今回はWebGLの環境でゲームを作るという説明があった
馴染みのない単語「WebGL」……
ということで早速調べました

  • 概要
    • ブラウザで3DCGを表示するためのもの
  • デメリット
    • IEなど古いブラウザだと対応していない
    • 描画にPCのスペックを要求する

ざっくりこんな感じ?
ちょっと調べただけでもWeb上に大量に情報が転がってるのでかなり有名なものっぽいですね
これを使えばソシャゲみたいなポチポチゲーじゃなくて、ガッツリしたゲームもブラウザ上で扱えたりしちゃうんですかね?ヤバい

スプライト

1枚の画像に複数スプライトをまとめるのが普通みたい
以下設定項目について

項目名 説明
Texture Type スプライトとして使う場合はSpriteがデフォみたい
Sprite Mode 複数枚スプライトがあるかどうか 今回は1枚のテクスチャに複数スプライトが用意されてるのでMultiple
Pixels Per Unit ここの値はスプライトの描画サイズ調整に使うっぽい?
Sprite Editor Sprite Editorを起動する これで1枚のテクスチャを切り分けて複数スプライトを生成した

アニメーション

  1. 作成したスプライトを複数選択してSceneビューにドラッグ&ドロップ
  2. 保存ダイアログ出るので適当に保存
  3. 完了

Rigidbody 2D

2Dのオブジェクト操作に色々してくれそう

  1. オブジェクト選択
  2. InspectorビューからAdd Component
  3. Physics 2D -> Rigidbody2D

以下パラメータ

項目名 説明
Gravity Scale 重力の有無 今回は重力無視したかったので0

その他忘れてたらハマりそうなこと

2Dオブジェクトがうまく動かない!!

AnimatorコンポーネントのApply Root Motionにチェックが入ってないか確認

項目名 説明
Apply Root Motion 3D用の項目らしい 2Dの時は絶対オフ!

表示順の変更

  1. メニューバーより

Edit -> Project Settings -> Tags and Layersを選択

  1. Sorting Layerがレイヤー一覧なので、必要に応じてレイヤー追加
  2. 各オブジェクトのSprite Renderer -> Sorting Layerを割り当てたいレイヤーに設定

github導入&今後の方針

昨日はUNISON SQUARE GARDENのライブいってました 箱ライブ初めてだったけどあれほんと楽しいね……

github導入

勉強中とはいえ、「あのソースでもっかい動かしたい~!」ってなることもあると思うのでgit導入 実はgithub使うのは初めて ほんとに情報系大学4年通って卒業したんですかね……

まぁネット上にめちゃくちゃ情報溢れてるのでスムーズにgitの導入もgithubの垢作成もできました GUIとしてTortoiseを入れて環境設定もやったけどCUIのが使いやすそう? なので便利そうなサイトのURLを載っけときます

よく使うgitコマンド - Qiita

ブランチ作成とかその辺は変にGUI使わないほうが楽そう

今後の方針

普通にUnity公式に日本語チュートリアルあるやんけ!! ってのでとりあえずこれやってみようかと

Unity - 2Dシューティング

基本的にはオリジナル2Dゲームの完成を目指していきたい あと、このチュートリアル終わった後に参考になりそうなサイトがあったので備忘録的に

【初心者向け】Unityの学習ができるおすすめ学習サイト8選! | プログラミング入門ならWebCampマガジン(公式)

チュートリアル終わったらこのサイトに載ってるのいくつか見たりしつつ、簡単なオリジナルゲーム作成に取り掛かってみてもいいのかな?

手探り状態だけどもちょっとずつ頑張ります!

Unity(&ブログ)始めました

LoLの新ルーン楽しい…… という話は置いておいて、

情報系大学卒業しててITの仕事やっててこんなにゲーム好きなのにUnity触ったことないのもどうなの!? ってことで昨日から環境整えてUnity触ってみてます。

このブログについて

脳内HDD容量がフロッピーディスク並な自分用に学んだことをちまちま書いていこうと思ってます。 続くといいね……

昨日今日でやった内容

  • Unity環境設定

インストールするだけで全部完了したのでびっくり。

【Unity2D】Unityで2Dミニゲームを作るチュートリアル(第1回) - Qiita

何をどうすればいいかが分かりやすく書いててありがたいページでした。 ちょっとバージョンが古いのか、用意されているリソースのToken.csメソッドで1箇所エラーが出てたので調べて修正。

これからの予定

新しい言語を自分で勉強したことないから何していいのやら…… とりあえずサンプルコードとかネット上に落ちてそうなのでその辺見てみようかと思ってます。

ゲームもしたいから1日にとれる時間は少なくなるけどちょっとずつ覚えていければいいなぁ 初日はこんなところで。