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には、そもそもの話として(多少がんばれば)誰でも手に入れることができるような情報しか書けない。この上に、ややこしい業務ノウハウがいくつも乗っかってくる。

Version control for game development

gamedev.stackexchange.com

ちょっと思うところがあったので脳内をできるだけそのまま書き下してみる。
VCSについてはsvn/alienbrain/git/perforceを業務レベルで扱ったことがあるので、そこそこの話をする立場にはなれてるのかなーと思ってはいる。

続きを読む

C#における「列挙」の意味と、LINQについて。

こないだ会社の先輩と話しててあれこれ考えたので、自分がLINQを理解した過程を言語化してみる。

対象は、とりあえずC++あたりの適当な言語で数年程度の経験がある人。プログラミングの地力さえあれば、C#についてはなんとなく読み書きできる程度で構わない。LINQに対する解説は世の中に溢れてるので、ここでは特にその内部実装にフォーカスしてみる。「わかってるひと」向けには、「おまじない」とか一切ナシのガチ解説が最短距離だと信じてる。

必要なC#の前提知識についてはこちら

続きを読む

Maya .NET API をそこそこ真面目に叩いてみた(シーングラフ編)。

最近ちょっとした心境の変化などもありつつ .NET API が気になってきたので、少し時間をとってちょっと真面目に叩いてみた。結果、環境によっては決して悪くない選択肢だという感触を得たので、ぼちぼちメモっておくことにする。

なお検証用のテストコードについては、普段から大変お世話になっている DF TALK さんの pymel 入門記事のコードを参照した。
デジタル・フロンティアさん、いつもありがとうございます m(_ _)m

github.com
github.com
github.com

続きを読む