2010年12月

2010年12月30日

Unityのはなし→うにばな

お待たせしました Unityばなしです。
検索で多いセーブロード関連についてすこし

Unityエンジンでよく使うだろうものをピックアップしました。




■Fileに直接書きこむ

Save and Load from XML

http://www.unifycommunity.com/wiki/index.php?title=Save_and_Load_from_XML

WikiのXml形式でのセーブロードスクリプトです。

http://answers.unity3d.com/questions/971/how-to-scrip-a-save-load-game-option

UnityAnswerにも回答が載っています



■PlayerPrefs

http://unity3d.com/support/documentation/ScriptReference/PlayerPrefs.html
リファレンスから抜粋しました

スタンドアローン
           Macの場合 ~/Library/Preferences
           Windowsの場合 レジストリキー HKCUSoftware[company name][product name]

Webプレーヤー     Macの場合 ~/Library/Preferences/Unity/WebPlayerPrefs
           Windowsの場合 %APPDATA%UnityWebPlayerPrefs

にそれぞれデータが格納されます。

使用法(Int:整数値の場合)

PlayerPrefs.SetInt("Player Score", 10);

PlayerPrefs.GetInt("Player Score");

ハイスコアなどを一時的に格納する用途があるようです。ファイルは閲覧されてしまうのでゲームに重要なデータを
おくと書き換えられてしまいます。 


■ArrayPrefs
Player

http://www.unifycommunity.com/wiki/index.php?title=ArrayPrefs


■Application.LoadLevel

ステージデータを一面分読み込みます。
インデックスを使用して
 Application.LoadLevel (0);
またはシーンの名前を直接指定して
 Application.LoadLevel ("Stage1");
のように使用します。

インデックスはUnityエディタのFile >BuildSettingを使用時にシーンごとの左肩につく数字です。

現在のシーンにシーンデータを追加で読む場合には 
Application.LoadLevelAdditive
を使用します。

シーンをプレイしながら裏で別のステージを読み込みたいシームレスなワールドを作りたい時などに
Application.LoadLevelAsync
Application.LoadLevelAdditiveAsync

という関数も用意されています 使用法はApplication.LoadLevelと同様ですがプロバージョンでしかつかえません。



■TextAsset
ステージの座標データなどを記述したTXT形式ファイルの場合TextAssetタイプの記述で
読み込むことが可能。
以下は公開中の60ラインパックマンからステージを作成する箇所をお借りしました。

var mapAsset : TextAsset;
var blockPrefab : Transform;
var pelletPrefab : Transform;
var superPrefab : Transform;

function Awake () {
var map = mapAsset.text.Split ("
"[0]);
var v = new Vector3 ();
v.y = 1.0;
var j_off = map.length / 2.0;
for (var j = 0; j < map.length; j ++) {
v.z = (map.length - j - j_off - 1) * 2;
var i_off = map[j].length / 2.0;
for (var i = 0; i < map[j].length; i ++) {
v.x = (i - i_off) * 2 + 1;
if (map[j][i] == "X") {
var inst = Instantiate (blockPrefab, v, Quaternion.identity);
inst.transform.parent = transform;
} else if (map[j][i] == ".") {
Instantiate (pelletPrefab, v, Quaternion.identity);
} else if (map[j][i] == "O") {
Instantiate (superPrefab, v, Quaternion.identity);
}
}
}
}


TextAssetタイプを指定したmapAssetから 変数mapに1ワードづつ切りだして if文で文字の種類ごとに
処理をしています。
例えばシューティングゲームの敵のスクリプト処理などはこれをつかえば作り易いかと思います。


■Resources.Load

リソースクラスのロードだけですが、外部のファイルを取り込むことが出来ます。
テクスチャやサウンドを入れ替えることができます。


function Start () {
var instance : GameObject = Instantiate(Resources.Load("prefab", GameObject));
}



パスを指定する場合は  Resources.LoadAssetAtPath を使用して

prefab = Resources.LoadAssetAtPath("Assets/Artwork/〇〇.fbx", GameObject);

のように直接指定。

これでMODのようなことができるのか検証していないのでわかりませんが、おそらく
自作モデルやテクスチャ、サウンドデータを設定しておけば読み込みが可能だと… 



リファレンスをみればほとんどわかることなので、Unityエンジンのサイトからとべる
リファレンスとWikiを活用することをおすすめします。

なにか 絵がないと寂しいのでスーパープレイ動画とやらを載せておきますw







akinow at 22:27|PermalinkComments(0)TrackBack(0) Clip to Evernote 日記 | Unity3d

2010年12月29日

まだいってなかったが メリークリスマス

djn4713

03

■ 注)画像は本文と関係ありません。

今年の分の仕事はなんとか終えました。まだこれから追加 修正分の作業はありそうなのですけど

さすがに体に堪えたので年末はちょっとゆっくりしたいと思います。とりあえず 寝かせてー

最近話題になっていた都条例 年末に根回しもなく強行採決した上に内容も採決後に発表するといった
ある意味だましうち的な法案だったわけですけど。
それがなにやら怪しい雲行き アニメ 漫画だけでなくゲームの規制も盛り込まれていた様子。
答弁でゲーム・CG・デザインの規制を含むとか それは私のやれる仕事すべて規制されるってことじゃないの?
日本のポップカルチャー全般が沈んでしまう危険がやって来ました。

規制の内容が明らかになるにつれ その影響の大きさに業界全体が震えだした感じです。
全容がほとんど知らされなかったので当たり前ですが。
問題点として曖昧な表現に拠っているため基準がわからないこと そのため販売する店舗側が過剰に自主規制し
それに合わせる形で 出版製造側がさらに過剰な対応をするというシナリオが動いています。

東京だから関係ないやーと言われる方がいらっしゃるかもしれませんが
都がこれらの決定をするということはそこから仕事を受けるところだって規制にまき込まれる
ほとんどのアニメ会社 ゲーム会社 出版社が東京に集中していることを考えると
実質 全国で行われているようなもの。 宮城県が追従する形で児ポ規制の声を上げましたけど
『宮城県知事は規制派日本ユニセフの理事です』 から各県の関係庁は安易にシナリオにのってうちもやろう
とならないようにお願いしたいですね。 

警察の各地区PTAへ巡業という 法すれすれというよりほとんど違法な感じで根回しが行われたわけですが 
またPTAが狙い撃ちされたのかという。
ゆとり教育を推進した寺脇研さんは 現在コリア国際学園理事でスパルタ教育を推進しています。
つまり? 日本の親たちはしてやられたわけなんですね で それをもう一度繰り返しているんじゃないか?ということ 
です。
表向きは漫画規制ということになっていますが、それが根っこでどのくらい浸透しているかについて勉強する
時間すらなかったんではないでしょうか。 今回の規制は性に関する記述の規制ということになっています
暴力や犯罪を描写することも盛り込まれているのですが。これに当てはまらない漫画なんか探すほうが難しいです。
つまり事実上の 事業規制です。 以前も書きましたけど 多少の差こそあれたとえば教育アニメ会社の会社が
食べていくために18禁の仕事も受けているとか 漫画家やアニメーターなど8割が食べていけない状況ですけど
同人誌などで食いつないでいるわけですが、それはごく一部のこと すべての業界は密接にからみ合っていますから
あらゆる分野の事業がおかしくなってくることが懸念されます。しかもこの不況の時期にです。

全国のPTAのかたがた 子供たちは健全になった?けど 子供の将来の仕事がなくなったりは考えませんか? 
そうした危険性が議論されることもなく決定することが恐ろしいわけです。

変な喩えですけど 戦後 行政が主導して針葉樹を全国に植えましたなぜ針葉樹を選んだかといえば、広葉樹は
手入れが難しく 下草の刈り入れなど大変に手間がかかるからです そして成長に時間がかかる。ところが数十年経って針葉樹は大変な
花粉症被害をもたらすようになりました その上に根が浅くしっかり根付かないために各地で土砂崩れなどの
被害を巻き起こすことになったわけです。反省して広葉樹を植えようという流れになっても成長にはさらに長い年月がかかります。 行政のやることはそんなこと 犠牲になるのは子供たちかもしれませんよ。

ちなみに私は小学校に上がる前に子どもが精子と卵子からできることを知っていました(小学校の先生には驚かれましたがw)
うちの両親はテレビを観ることに寛容だったため教育テレビを始めとしてほとんどのテレビ番組を自由に見れたためです。昔の方がひどい番組も多かったですけど 自分で見てはいけないと感じた番組は見ませんでした。そこの情報を取捨する感性を養えたことはのちの人生に役立ったと思います もっとも自分が健全だとは思わないですがw
 お母さんたちはもっと自分の教育に自信を持ってもらいたいです こういう謀につけこまれないように勉強しては。

で これ施行されても 国内には全く恩恵がないうえに せっかく日本で国際競争力のあるものが腐ってしまう危険があります。
よくわからないのが東京都および行政は日本のサブカルを世界に通用するようにしてクールジャパンとしてうりこみたいと 
14兆円の売上を目標に(現在の4倍程度)掲げているのですけど クールジャパンの推進委員にアニメ関係者は一人もいないと言う話。そして今回の冷や水をかけるような意味不明の施行。
行政の足並みが揃わなすぎて本当にやる気があるのかが甚だ疑問です。
日本の漫画はその多様性と深いテーマ性故に外国でも愛されることになったわけですけど その旨味の部分を
すべてそぎ落としてしまったら商品として価値なんかありません。『目黒のさんま』でも聞かせてあげたい。
もともとアメリカでも今のスタイルのアメコミになる前は様々なジャンルのコミックが発行されていたんですよ
それが規制団体の声が大きくなるに連れヒーローもの に収束してしまった経緯があります。韓国台湾でも表現規制を
強化したばかりにマンガ文化が発展しなかったことがあり その二の轍を踏むことが危惧されているわけです。

電子書籍に向かうとして誰が得するかといえば 電子化に向けてグダグダになっている国内市場は
アマゾンなどすでに電子ブックを形にしている海外企業の独壇場にされてしまいます。
韓国 中国などがすでに今年あたり800憶近くもの予算をつぎ込んでアニメ産業に力を入れだしています
どの国も将来お金を生み出す知財分野は非常に魅力的です。
そうした国にとっては日本が規制によって弱まるのは非常に都合が良いわけなのです。
資源のない日本が世界に売り込める商品となる資源によらないサブカルメディアという分野をあっさり手放す意味がさっぱりわかりません。

そして一番の問題点に 誰がその規制の基準を判断するのかということがあります。
小池一夫先生が監査する側が漫画家の上に立つにふさわしい人間かどうかというのを危惧されていましたけど 性描写 暴力描写 違法行為を一括りに悪と
きめつけている読解力のない 漫画もゲームも見たことないような人たち。 副知事は傑作なら構わないとおっしゃってますが  傑作かどうか それは誰かが決めていいものでしょうか? 様々な作品に触れて人生が終わるときに
最も感銘を受けた作品がその人にとっての傑作であるわけで、それは多数決で決められるものではないし それを
判断する経験すら奪ってしまうのはたいへん 罪のある行為だと思います。


これからどうしましょう 石原知事は昔言ったことは間違っていたと言ってるわけですから
まちがっているんなら芥川賞も間違いだったわけで そいつを剥奪、その賞によってその後の小説は売上を伸ばしたんですから小説も全部発禁にしてみます?文藝春秋さん 出版社さん?
石原知事主導の東京都主催のTAF(東京アニメフェスティバル)のほうも角川グループが音頭をとって
ボイコットしました。他の出版社も追従して幕張メッセで同日程で別のフェスティバルなるものを開催するとか
これ残ったところは、うまくいった方につこうとか甘いこと考えてますか?
そういうとこは業界上げてペナルティ課してもいいと思います。ゲーム関連が多いようですけど おとぎ話のコウモリじゃあるまいし 長いものに巻かれるのも大概にしてもらいたいです。
マスコミは賛成に回ってますけど 向こうはゲームはテレビの敵だと思っていますからとりあえず叩いとけって感じでしょうかね。

まだ望みは残っているそうで 施行前の3月に都知事を落選させるか 20万の署名を集めて改廃請求を実行することらしいです。
わたしは規制自体は多少あったほうがいいと思いますけど 議論せずに決めてしまう危険性を認識して慎重に
すすめる時間をとってもらいたいというのが意見です。





e1KsO




長くなってしまった。 まとめ切れなかったので 抜粋したコピーを貼っておきます。



■可決されても施行前に都知事選がある
■可決されたとしても改廃請求がある。
■もう一つは、この条例を作る際の警察による各地区PTAの巡業が違法行為にあたる可能性が出ている。

☆推進している警察関係者=倉田潤
鹿児島県議選違反事件、または志布志事件で
自白を強要した鹿児島県警本部長
事件によってキャリアを傷つけられた氏が中央へ返り咲くため その女性部下とともに
手柄をあげることに躍起になっているというもの。

☆都は条例案内容をギリギリまで出さず、出版業界と漫画家との話し合いもおざなり気味にし、R12R15施行案すら蹴った。


条例の内容

電磁的記録媒体=ソフト
電子計算機=ゲーム機

第15条条例第8条第1項第1号の東京都規則で定める基準は、次の各号に掲げる種別に応じ、当該各号
に定めるものとする。

一 著しく性的感情を刺激するもの次のいずれかに該当するものであること。
 ハ 電磁的記録媒体に記録されたプログラムを電子計算機等を用いて実行することにより、人に卑わい
な行為を擬似的に体験させるものであること。

二 甚だしく残虐性を助長するもの次のいずれかに該当するものであること。
 ハ 電磁的記録媒体に記録されたプログラムを電子計算機等を用いて実行することにより、人に残虐な
行為を擬似的に体験させるものであること。

三 著しく自殺又は犯罪を誘発するもの次のいずれかに該当するものであること。
 ハ 電磁的記録媒体に記録されたプログラムを電子計算機等を用いて実行することにより、人に刑罰法
規に触れる行為を擬似的に体験させるものであること


規制派のバックについてる団体

(財)日本ユニセフ協会
ECPAT/ストップ子ども買春の会
マイクロソフト株式会社
ヤフー株式会社
アジアの女性と子どもネットワーク
(特活)国際子ども権利センター
(財)日本YMCA同盟
日本YWCA
国際ソロプチミストアメリカ日本東リジョン
エンパワメント・センター
女性会議
(財)日本キリスト教婦人矯風会
創価学会女性平和委員会
(社団)セーブ・ザ・チルドレン・ジャパン
売買春問題ととりくむ会
CAPもりぐち
(特活)日本ガーディアン・エンジェルス
(特活)PEACE暴力防止トレーニングセンター
身近に起こる女性への暴力を考える会



■日本ユニセフ協会の正体
http://www35.atwiki.jp/kolia/pages/1064.html

■表現規制問題の仕組み
http://www35.atwiki.jp/kolia/pages/1365.html






■やっと仕事が手すきになったので、ストパンSTGの開発をすすめています。
でもリソース作りがメインなのですな わたしは、絵を書く脳とスクリプトを組む脳が別っぽいので
どっちかをやるとどっちかが進まない仕様のようです。というか絵作りの大変さを気にしだすとスクリプトの
スペックを落としてしまいがちなので、最初に一気に絵を作ってしまうのがなにかと楽なようです。

youtubeの映像を見た方はお分かりかと思うのですけどセレクトの画面をポリゴンキャラにしたところ
なんか 殺風景というかキャラゲーぽくないんですよ。感情移入度が低いですからこれは手を入れるべきだと
おもいました。あちこちでキャラ絵を挟んでみたらいいのかなと思いつき急遽立ち絵を描いてみました。
今朝ほどチャッと描いてみた下描きなので、似てないよーとかいうのはご容赦ください。
ちなみにタイトル画面などもまだ借りです。
 
stpan_all


今日はもう一度Unity関連の記事更新をする 『予定』です。 たぶん夜 または朝 にすると思います 。


以下 娘。
イカちゃん 最終回なので//www.Seiup.netさまから 画像を頂いてまいりました。
プレビューはライブドアブログの都合?でぶっ壊れているようですけど クリックすると見れるらしいです。

seiup-nandemo_1293343857793
seiup-nandemo_1292966721181
seiup-nandemo_1292878630116
seiup-nandemo_1292693016682
seiup-nandemo_1292568160190
seiup-nandemo_1292482604231


akinow at 23:18|PermalinkComments(2)TrackBack(0) Clip to Evernote 日記 | 

2010年12月22日

クリスマスが今年もやぁてくるぅー

クリスマス・・去年倒したはずなのに 。
日本の欝ソングって言えばこの『クゥリスマスが今年もやあてくルゥー』とサザエさんのEDだと思われるのですが。
サザエさんのエンディングは会社をやめて何年も経つのに、聞くたびにモリモリと力が抜ける魔性のソングだし。
くぅーりすます の方は言わずもがな世の中のリア充をのろってしまうそんな定番ソングであるわけです。
あと5月5日にフルーツバスケットのOPなんかが流れてくるのも ちょっぴり悲しく欝になる そんな感じ。
それと 仕事の締切が迫ると必ず見る夢があって、それは大学で1教科単位を落として進級できないという夢。
いつか忘れるんじゃないかと思っていたんだけど 最近いきつけの歯医者にはなしをしたら『ぶぎょうさんも
見るんだー 僕もね未だにテストが白紙で進級できない夢見るんだよ すごいプレッシャーなんだろうねw』
てな話をされた。歯医者はもうすぐ70才 えー また欝になったよ・・・




忘れた頃にはじめる スクリプト話
『Unity3D+AI』で検索をかける方がおおいようなので 少し話をしてみます

一般的にゲームに使用されるのは 移動、攻撃、回避 などの思考ルーチンをセットにしたもの
移動は ランダムな移動 と 定点への移動(パトロール) があります。


■ランダム移動

transform.position = Random.insideUnitSphere * 5.0;


を使用します。球面のランダムなポイントを返してくる関数で、半径を掛けて使用しましょう。この場合は5.0が半径です。
2次元座標に使用する場合は transform.position.z = 0;などを実行して球の高さ方向の値を
0としてしてしまえば良いと思います。

単に2次元で方向をもとめるだけならば Random.insideUnitCircle を使用して

      var position : Vector2 = Random.insideUnitCircle * 5;

と半径5の円上のポジションをもとめるやり方もあります。


また 地面上のあるポイントを算出したい場合 キャラクターコントローラーがあれば地面上をあるかせることは非常に簡単になるので

function Update () {
var hit : RaycastHit;
if (Physics.Raycast (transform.position, -Vector3.up, hit)) {
var PointOnGround = hit.point;
}
}

などとして ポジション値を返してやることで、地形上のランダム移動は可能だと思います。
レイキャストでどのような値が帰ってくるかは RaycastHit型のリファレンスを見てください。  

■ウェイポイント法

レベルマップ上にウェイポイント=決まったポジションを定義してそれらをつなぐライン上を移動させる方法です。
UnityAnswer(Unityの質問掲示板)に簡単なウェイポイントのスクリプトがあったので解説しますね。




var waypoint : Transform[];
    /// 型宣言に[]をつけてで配列型を宣言します ///


static var speed : float = 5;
private var currentWaypoint : int;
private var TurningSpeed : float = 15;
       

function Update ()
{
if(currentWaypoint < waypoint.length)
    //// 〇〇.length で配列の大きさが帰ってきます //// 

{
var target : Vector3 = waypoint[currentWaypoint].position;
    ///Vector3型 (x,y,z)の形のベクトルデータを指定 ///
           
var moveDirection : Vector3 = target - transform.position;
    /// モデルの動く方向   ///
var velocity = rigidbody.velocity;
    

if(moveDirection.magnitude < 1)
    /// Vector3.magnitudeで距離を計算 ///   
    
{
currentWaypoint++;
    /// ウェイポイントまでの距離が1以下ならば現在のウェイポイントのナンバーをひとつ進める
       (距離が1より小さい場合は計算から除外する)/// 

}
else
{  
velocity = moveDirection.normalized*speed;
    ///方向を正規化したもの(方向だけだとベクトルに大きさがあるため)に
     スピード値をかけてvelocity(速度)を計算する///   
 
     
}
}

rigidbody.velocity = velocity;
  /// verocity(速度)でrigidbody.velocity(このスクリプトをつけたモデルの速度値を更新///


   

  /////////////////////////////////////////////////////
var lookAt = waypoint[currentWaypoint].position - transform.position;
  lookAt.y = 0;
var rotation = Quaternion.LookRotation(lookAt);//target.position - transform.position
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime *TurningSpeed);
  /////////////////////////// 一定時間でQuaternion.Slerp()を使用;モデルをウェイポイントの方向に向かせる ////
               

}





  var lookAt = waypoint[currentWaypoint].position - transform.position;
  lookAt.y = 0;
var rotation = Quaternion.LookRotation(lookAt);//target.position - transform.position
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime *TurningSpeed);


この行は
  
  transform.LookAt(waypoint[currentWaypoint].position);
  transform.Rotate(transform.rotation.x, 0, transform.rotation.z);


こう書いてもいいです。

このスクリプトは基本平面を自由に動きまわるタイプFPSなどを想定しているようです。
コレ以外にも例えばレースゲームなども似た感じのスクリプトで動作できます例えば コース上に最速ラインのポイントをいくつか設定し配列に格納して順番に読み出しアザーカーがそれを目指すように実行します。
このときウェイポイントはゲーム中の最速タイムをだしたラインをレコードして使用するなどとすれば学習の効果が現れます。
自分の関わったゲームだとレコードされたラインを複数持ちランダムにポイントを選択していました。

このほかにグリッドを使用して最短経路をもとめるA*(エースター)などの方法があるので
調べてみてください。

関連して移動のための判断材料として点数を付ける方法があります。
新しく移動する位置の候補を選び出して、その場所について 敵に攻撃が通るか、立ち状態で攻撃できるか、座り状態で攻撃可能か、
相手からの攻撃エリアにはいっていないか などにそれぞれ点数をつけて得点の高い場所を有効として移動目標にする方法です。
将棋などの思考ルーチンもこうした計算がベースになっているようですので 応用範囲は広い気がします。


■攻撃について

相手が見える位置にいる→攻撃できる→距離が有効→角度が有効(視野角に入っている)などの簡単なチェックを
行います。


/////////////////////////////////////距離を求めます
var target : Transform;
if (other) {
var dist = Vector3.Distance(target.position, transform.position);


   if (dist < 100.0)
    実行文・・・・

}



/////////////////////////////////////敵の方向と自分の向いている方向との角度を求めます


var targetDir = target.position - transform.position;
var forward = transform.forward;
var angle = Vector3.Angle(targetDir, forward);
 

    if (angle < 5.0)
    実行文・・・・

}


のように 距離と角度を求めて攻撃の判定を出すかどうかを決定します。
敵との距離に応じて使用武器を変化するなどとすればさらにプレイに緩急がつくでしょう。

ちなみに距離は

var sqrLen = (other.position - transform.position).sqrMagnitude;

でももとめることが出来ます。数式で書くと√(x*x+y*y+z*z) になる わけですが Vector3.magnitude を使うより実行が速いと
リファレンスに書いてあるんですがこれほんとなのかな?


そしておおまかに ファジー関数を用いてこれらの決定に重み付けをしたりニューラルネットで学習を施すなどの味付けをするなどと
すればより賢いスクリプトが仕上がってくるはず?

特に決まりはないのでじぶんの思いついたやり方でそれっぽくなれば、おっけーというぐらいで
あまりやりすぎてもゲーム自体が重くなってしまうので注意したほうがいいでしょうね。

相手に攻撃が通るかは 前述したレイを飛ばす方法でコリジョンヒットしたら攻撃は通らないということです。


ウェイポイントによる移動はFPSのチュートリアルの人間型敵の移動を、
ランダムな移動はUnityのTPSのチュートリアルの空をとぶボール型の敵を参考にすればいいかと思います。
あとロコモーションシステムについてくる自由移動のスクリプトも見ておきましょう。
詳しい説明は もう少し勉強が進んだら時間のあるときにやります。 たぶんw

ちょっと閑話休題
わたしがメーカ内にいたときに見た思考プログラムはif分の塊で 高度なものを期待している人はちょっと肩透かしな気になるかもしれません。
理由は幾つかあって 
○グループで製作されるため誰でも見通しのよい読みやすいものにすること。
○引継ぎしやすさも考えて並易に書くこと。 
○動けば良い。
などの理由があったようです。
洗練されたスクリプトを書くと自分自身があとで理解不能になったりしますよねw なので自分の書きたいように書いてかまわない
けど表現の簡単なものをと教えられました。
あと 『コピペ推奨』と『書いたものは消さない』というのも教えられましたね。
同じ物をかくのにコピペを禁止したりすることがあるようですけど 時間がかかる上にバグのもとになりやすいです。
一度書いたものはコメントラインで残しておくと再編集が容易になるし思考の流れが記録されます。

はー長くなってしまった 今後の予定として ブログの方はきちんと講座形式でやりたいんですが(私のつたない知識では物足りないと思いますけど) ストパンstgの方も計画が遅れまくっているので気長にやっていきますよ ええ。 春まで仕事が山積していて予定通りにはいかないと思いますが
あてにしないで待っていてください いや そのうちUnityのいい本がでるはず みんなそれを買ってw。

追記: すっごく中途半端な記事になってしまったので、おすすめリンクを載っけときます。

      http://www-cs-students.stanford.edu/~amitp/gameprog.html






 

akinow at 15:22|PermalinkComments(5)TrackBack(0) Clip to Evernote 日記 | Unity3d