graphics.hatenablog.com

技術系テクニカルアーティストのあれこれ

テクニカルアーティストのためのデータベース入門 (5) 正規化

前回紹介したエンティティとリレーションを、実際にどうやってDBに落とし込むか。何回かにわけてざっくり書いてみる。

完成品はこちら。オレオレフォーマットだから違和感あるかもだけど、まぁ雰囲気だけ伝われば。
f:id:hal1932:20161010165611p:plain

  • 正規化
    • 要素のピックアップ
    • 先読みと抽象化
    • 本質でない要素の分離
  • あえて正規化しないケース
    • 扱いやすさのために抽象化しない
    • 制作ルールを直感的に表現するために抽象化しない

graphics.hatenablog.com

続きを読む

テクニカルアーティストのためのデータベース入門 (3) データ保全

チーム内に土下座行脚をしたくなければ、まずはデータの守り方を覚える必要がある。

  • バックアップ
    • 丸ごとバックアップ
    • 操作のバックアップ
  • 削除フラグ

graphics.hatenablog.com

続きを読む

テクニカルアーティストのためのデータベース入門 (2) 「リソース」と「アセット」と「メタデータ」

データベースには、その名の通り「データ」を保存することができる。
TAはどんな目的でDBを使うことができるのか、DBで何が表現できるのか、DBに何を保存するのか。

  • 「リソース」と「アセット」
    • リソースの使われ方(利用目的)
    • リソース同士の関係性(依存関係)
    • リソースに含めることができないもの(大人の事情)
    • リソースの特徴を表現するもの
  • メタデータ

graphics.hatenablog.com

続きを読む

テクニカルアーティストのためのデータベース入門 (1) おことわり

TAはインフラエンジニアではなければ、データベースエンジニアでもない、もちろんプログラマでもない。*1*2

たとえばGoogleで「データベース」と検索すると、正規化だのチューニングだの、色々出てくる。そういうのを、どういうふうに気にするか。

この記事のスタンスとしては、おおむね意図したかたちのデータを、無理なくDBに出し入れできるようになればそれでいい、というくらいのゆるいかんじ。そういう意味では、最初はまず画像掲示板でもつくってみるのがいいんだけど、そのあたりはまぁ、これを読んだ人の気が向いたらやってみればいい。

わからないときはわかる人に聞けばいいし、ちゃんと真面目に聞けば、大抵の人は真面目に教えてくれる。そのために、「わかる人」と最低限の会話ができるくらいの知識を羅列してみる。

結局のところ、絵は下手でいいからMayaとか内制ツールでモデル組んでランタイムまで持ってくることだったり、コードは汚くていいからVisualStudioやXcodeでツールとかプラグインをつくることだったり、そういうのが主眼にあるので、いわゆるプログラマとかデザイナとかを自認する人がこの記事を読んでもおおよそ得るものは少ないと思われる。そのあたりはご承知おきを。

graphics.hatenablog.com

*1:もちろん「エンジニアTA」とか「TA担当エンジニア」とかいう肩書きは世間に存在するのだけど、少なくともTAとしての僕が「お前はプログラマか?」と尋ねられたら、とりあえず否定はする。

*2:TAがアーティストなのかどうかはよく知らない。少なくとも自分はエンジニアなので、アーティストではない。

テクニカルアーティストのためのデータベース入門 (0) 目次

テクニカルアーティスト(以下、TAと呼ぶ)とデータベース(以下、DBと呼ぶ)は、実はとても相性が良い。ただ、日本のTAは何故かアーティスト出身がとても多いせいか、便利さがあまり知られていないような気がする。

このご時世ぐぐれば大量の情報がでてくるし、知識を得るのはとても簡単なのだけど、いかんせん大量すぎて取捨選択がとてもむずかしい。けどそこで心が折れちゃうのはあまりにももったいない。特に最近はモバイルゲーム界隈からすごい量の情報が漏れてきてて、でもそういうのって基本的には専門家向けだからTAがインハウスで扱うには妙に難易度が高いのばっかだし、環境依存が激しいノウハウ系の話も結構ある。

というわけで説明の練習とドキュメンテーションも兼ねて、本を読んだりぐぐったりすればわかるような情報のうち、会社やチーム固有のノウハウになるような部分*1を取り除いて、ざっくりまとめてみる。

(1) おことわり
(2) 「リソース」と「アセット」と「メタデータ」
(3) データ保全
(4) 「エンティティ」と「リレーション」
(5) 正規化
(6) テーブル制約
(7) SQLのはじめの一歩
(8) O/Rマッパー
(9) パフォーマンス最適化

www.borndigital.co.jp
www.atmarkit.co.jp

*1:ていうか僕みたいな雇われTAには、そもそもの話として(多少がんばれば)誰でも手に入れることができるような情報しか書けない。この上に、ややこしい業務ノウハウがいくつも乗っかってくる。