くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Unityでよく使うディレクトリ構成を一括で作成する

ひさびさにUnityでAndroidアプリを作ってみました!

拙作、初の横スクロールアクション「あざらしロジック」!

f:id:wannabe-jellyfish:20170128222935p:plain

play.google.com

www.youtube.com

その際にいろいろやったので、忘れないための備忘録φ(..)メモメモ

Unityで新しいプロジェクトを始めるとき、「Script」とか「Prefabs」とか作るけど、

手動で作るのがめんどくさくなったので、スクリプト化した話。

スクリプトはこんな感じ

takishさんの記事を見て、「おぉ!」となったので、参考にして、自分にあうようカスタマイズ。

qiita.com

スクリプトはこんな感じ(initUnityProject.sh)。

  1. Assets配下にディレクトリを作成して、
  2. .gitignoreを作成

また、

  • ./initUnityProject.shとすると、カレントに作成し、
  • ./initUnityProject.sh NewProjectとすると、「NewProject」配下に作成します。
#!/bin/bash

## set root path
root=$1
test "$root" = "" && root='.'


## create Directories in Assets
dirs='
Animations
Audio
Editor
Fonts
Icon
Materials
PhysicsMaterials
Plugins
Prefabs
Resources
Scenes
Scripts
Textures
'

for d in $dirs; do
  mkdir -v -p ${root}/Assets/${d}
done

## create .gitignore

cat <<EOS > ${root}/.gitignore
[Ll]ibrary/
[Tt]emp/
[Oo]bj/

## Autogenerated VS/MD solution and project files
/*.csproj
/*.unityproj
/*.sln
/*.suo
/*.user
/*.userprefs
/*.pidb
/*.booproj
### https://raw.github.com/github/gitignore/afbff9027d02ccfc680e031f6c295f79ad61662d/Unity.gitignore

/[Ll]ibrary/
/[Tt]emp/
/[Oo]bj/
/[Bb]uild/
/[Bb]uilds/
/Assets/AssetStoreTools*

# Autogenerated VS/MD/Consulo solution and project files
ExportedObj/
.consulo/
*.csproj
*.unityproj
*.sln
*.suo
*.tmp
*.user
*.userprefs
*.pidb
*.booproj
*.svd


# Unity3D generated meta files
*.pidb.meta

# Unity3D Generated File On Crash Reports
sysinfo.txt

# Builds
*.apk
*.unitypackage


### https://raw.github.com/github/gitignore/afbff9027d02ccfc680e031f6c295f79ad61662d/Global/Vim.gitignore

# swap
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags


### https://raw.github.com/github/gitignore/afbff9027d02ccfc680e031f6c295f79ad61662d/Global/Windows.gitignore

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk


### https://raw.github.com/github/gitignore/afbff9027d02ccfc680e031f6c295f79ad61662d/Global/VisualStudioCode.gitignore

.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json


### https://raw.github.com/github/gitignore/afbff9027d02ccfc680e031f6c295f79ad61662d/C.gitignore

# Prerequisites
*.d

# Object files
*.o
*.ko
*.obj
*.elf

# Precompiled Headers
*.gch
*.pch

# Libraries
*.lib
*.a
*.la
*.lo

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib

# Executables
*.exe
*.out
*.app
*.i*86
*.x86_64
*.hex

# Debug files
*.dSYM/
*.su


### https://raw.github.com/github/gitignore/afbff9027d02ccfc680e031f6c295f79ad61662d/C++.gitignore

# Prerequisites
*.d

# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app
EOS

以上!

参考にしたサイト様

  1. Unityフォルダ構成のルールについて - Qiita
  2. 逆引きシェルスクリプト/ヒアドキュメントをファイルに出力する方法 - Linuxと過ごす