2010年2月25日木曜日
2010年2月21日日曜日
【Unity】その24:チュートリアルⅡその5
Physics.Linecast (start : Vector3, end : Vector3, layerMask : int = kDefaultRaycastLayers)
2点間にcolliderが存在したらtrueを返す。
Quaternion.LookRotation (forward : Vector3, upwards : Vector3 = Vector3.up)
回転を指定。
var relativePos = target.position - transform.position;
var rotation = Quaternion.LookRotation(relativePos);
transform.rotation =
Quaternion.Slerp (from.rotation, to.rotation, Time.time * speed);
時間をかけて回転を指定。
2点間にcolliderが存在したらtrueを返す。
Quaternion.LookRotation (forward : Vector3, upwards : Vector3 = Vector3.up)
回転を指定。
var relativePos = target.position - transform.position;
var rotation = Quaternion.LookRotation(relativePos);
transform.rotation =
Quaternion.Slerp (from.rotation, to.rotation, Time.time * speed);
時間をかけて回転を指定。
2010年2月20日土曜日
【Unity】その22:チュートリアルⅡその3
var script : ScriptName = gameObject.GetComponentInChildren(ScriptName);
指定のコンポネントを持つ子のゲームオブジェクトを選択。
LateUpdate function
はUpdateファンクションの後に動作する。Upadateで起きたことに反応させたいときに使う。
Physics.Raycast (EYE.transform.position, direction, hit, range)
光線がcolliderに衝突したらtrue
Raycast.rigidbody(/collider)
光線がヒットしたrigidbody/colliderを返す。
hitParticles.transform.rotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
Quaternionは回転を代表するのに使われる。
taransform.TransformDirection
指定のコンポネントを持つ子のゲームオブジェクトを選択。
LateUpdate function
はUpdateファンクションの後に動作する。Upadateで起きたことに反応させたいときに使う。
Physics.Raycast (EYE.transform.position, direction, hit, range)
光線がcolliderに衝突したらtrue
Raycast.rigidbody(/collider)
光線がヒットしたrigidbody/colliderを返す。
hitParticles.transform.rotation = Quaternion.FromToRotation(Vector3.up, hit.normal);
Quaternionは回転を代表するのに使われる。
taransform.TransformDirection
2010年2月18日木曜日
【東京急行】その4:都電荒川線
巣鴨でアルバイトをしていたときから荒川線に乗ってみたいと思っていたので、今日は大塚駅より荒川線に乗車して三ノ輪を目指す。一両編成の電車で発射時にチンチンというのが愉快。
途中都電の操車場で下車してあらかわ遊園に行く。あらかわ遊園というのは日本初の民間の遊園地だそうで大人でも入場料200円、園内には観覧車やら退役した都電の電車やらおかれていて動物も飼育されているという結構なボリュームだ。これが隅田川沿いの住宅街の中にある。しかし今日は午前は雪が降っていたということもあり、文字通り客が一人もいない。入場して一人で観覧車に乗ったりコースターに乗ったり—自転車をこいでレール上を走るのだ—寒くて互いに身を寄せあっている鹿や猿を見てまわる。ほとんど冗談である。従業員も手ぶさたの様子、他の客は私が帰るころに老人と女の子がやっと来たくらいだった。
あらかわ遊園を出た後はひたすら川沿いを歩いた。びっしり建物で埋まっている閉塞的な空間が広がる都内において、唯一河川敷は周囲を広く見渡せる場所である。川沿いの高速を血管の中を巡る赤血球のように流れて行く車がよく見える。茂っているのは葦である。思い出したように木々が生えている。別段面白い風景でもない。美しい建物やきれいな川があるわけでもない。しかし私はこの手の風景が大好きだ。平凡で飾りっけのない風景は、それ故にそこに住む人達の鼓動を伝え、風景自体がおおいに呼吸し活動している。その中を歩く心地よさは風景との一体感である。
上手い所で再び都電をつかまえて乗る気だったが、いつまで歩いても出会えず、そのうち腹が空いたので遅い昼を食べることにした。目をつけたのはすすけたレストランで、これが実に愉快だった。おおよそ街歩きの最高の報酬は地元民しか利用しないような年季のこもった喫茶店やレストランを見つけることである。この際味は二の次である。雰囲気が重要だ。店内は一昔前の色調でオールバックの男やしわを額に寄せた婦人が飯を食っている。これがいいのだ。カツを頼んだらコーラがついてきた。
その後都電の終点の三ノ輪駅まで結局歩いた。三ノ輪周辺は下町の情緒を残しており、商店が身を寄せあっている。ここでなぜかLOを買ってしまって、この後東大に行くつもりだったが面倒くさくなって池袋で画材を買った後帰ってしまった。
途中都電の操車場で下車してあらかわ遊園に行く。あらかわ遊園というのは日本初の民間の遊園地だそうで大人でも入場料200円、園内には観覧車やら退役した都電の電車やらおかれていて動物も飼育されているという結構なボリュームだ。これが隅田川沿いの住宅街の中にある。しかし今日は午前は雪が降っていたということもあり、文字通り客が一人もいない。入場して一人で観覧車に乗ったりコースターに乗ったり—自転車をこいでレール上を走るのだ—寒くて互いに身を寄せあっている鹿や猿を見てまわる。ほとんど冗談である。従業員も手ぶさたの様子、他の客は私が帰るころに老人と女の子がやっと来たくらいだった。
あらかわ遊園を出た後はひたすら川沿いを歩いた。びっしり建物で埋まっている閉塞的な空間が広がる都内において、唯一河川敷は周囲を広く見渡せる場所である。川沿いの高速を血管の中を巡る赤血球のように流れて行く車がよく見える。茂っているのは葦である。思い出したように木々が生えている。別段面白い風景でもない。美しい建物やきれいな川があるわけでもない。しかし私はこの手の風景が大好きだ。平凡で飾りっけのない風景は、それ故にそこに住む人達の鼓動を伝え、風景自体がおおいに呼吸し活動している。その中を歩く心地よさは風景との一体感である。
上手い所で再び都電をつかまえて乗る気だったが、いつまで歩いても出会えず、そのうち腹が空いたので遅い昼を食べることにした。目をつけたのはすすけたレストランで、これが実に愉快だった。おおよそ街歩きの最高の報酬は地元民しか利用しないような年季のこもった喫茶店やレストランを見つけることである。この際味は二の次である。雰囲気が重要だ。店内は一昔前の色調でオールバックの男やしわを額に寄せた婦人が飯を食っている。これがいいのだ。カツを頼んだらコーラがついてきた。
その後都電の終点の三ノ輪駅まで結局歩いた。三ノ輪周辺は下町の情緒を残しており、商店が身を寄せあっている。ここでなぜかLOを買ってしまって、この後東大に行くつもりだったが面倒くさくなって池袋で画材を買った後帰ってしまった。
2010年2月17日水曜日
【Unity】その21:チュートリアルⅡその2
FPSチュートリアル続き。
deltaTimeとはフレーム間の時間。
functionUpdate()はフレーム毎に実行される。主にプレーヤーの行動やゲームのロジック実行するのに使われる。
functionFixedUpdate()は主に物理的な振る舞いを実行するのに使われる。deltaTimeは常に同じ値。
フレームの更新(deltaTime)は変動するのでフレーム依存のUpdateでは物理的な動作は不安定になる。そのためにFixedUpdateが用意されている。
Javescriptの配列の他にUnity独自の配列も用意されている。
var values : float[];
for (var value in values) {
print(value);
}
for構文でこういう表記があったのは知らなかった。Unity独自?
values = new float[10];
独自の配列はリサイズが効かないので必要に応じて再宣言。
Physics.OverlapSphere(位置、半径)で球体に触れているか内包されているcolliderを配列で返す。組み合わせるとこう: Collider[] = Physics.OverlapSphere( transform.position,
explosionRadius );
function function(index : int){ index }
とすると、function(3);などと呼び出せる。
gameObject.BroadcastMessage ("ApplyDamage", 5);は全ての子の関数ApplyDamageを実行させる。
function ApplyDamage (damage) {
print (damage);
}
Transform.DetachChildren();で親子関係破壊。
deltaTimeとはフレーム間の時間。
functionUpdate()はフレーム毎に実行される。主にプレーヤーの行動やゲームのロジック実行するのに使われる。
functionFixedUpdate()は主に物理的な振る舞いを実行するのに使われる。deltaTimeは常に同じ値。
フレームの更新(deltaTime)は変動するのでフレーム依存のUpdateでは物理的な動作は不安定になる。そのためにFixedUpdateが用意されている。
Javescriptの配列の他にUnity独自の配列も用意されている。
var values : float[];
for (var value in values) {
print(value);
}
for構文でこういう表記があったのは知らなかった。Unity独自?
values = new float[10];
独自の配列はリサイズが効かないので必要に応じて再宣言。
Physics.OverlapSphere(位置、半径)で球体に触れているか内包されているcolliderを配列で返す。組み合わせるとこう: Collider[] = Physics.OverlapSphere( transform.position,
explosionRadius );
function function(index : int){ index }
とすると、function(3);などと呼び出せる。
gameObject.BroadcastMessage ("ApplyDamage", 5);は全ての子の関数ApplyDamageを実行させる。
function ApplyDamage (damage) {
print (damage);
}
Transform.DetachChildren();で親子関係破壊。
2010年2月16日火曜日
【Unity】その20:チュートリアルⅡその1
今日から新しくFPSを作るチュートリアルを開始。特に支障なくさくさく進む。
コンポネントのColliderとRigidbodyの違い。Colliderは衝突判定用。Rogodbodyは重さなどを設定して物理的な振る舞い(重力の影響、力をかけることで移動)。
function:OnCollisionEnterは衝突時に呼び出されるファンクション。衝突座標はContactPointに蓄積される(collision.contacts[]でアクセス)。Startはオブジェクト生成時に一度だけ呼ばれるファンクション。
コンポネントのColliderとRigidbodyの違い。Colliderは衝突判定用。Rogodbodyは重さなどを設定して物理的な振る舞い(重力の影響、力をかけることで移動)。
function:OnCollisionEnterは衝突時に呼び出されるファンクション。衝突座標はContactPointに蓄積される(collision.contacts[]でアクセス)。Startはオブジェクト生成時に一度だけ呼ばれるファンクション。
2010年2月15日月曜日
【Unity】その19:スクリプト
Yieldでそれ以降のスクリプト実行に時間差をつけることができる。
MonoBehaviourグローバルファンクション。ファンクションを呼び出したりマウスオーバー時の反応を決定。Updateファンクションもその一つ。
パフォーマンスを上げる方法。var foo : MyScript = GetComponent(MyScript)のようにfooをあらかじめMyscriptと宣言していると早くなる。#pragma strictをスクリプト冒頭に加えるとこの静的な宣言しかできなくなる。
Unityは正しいコンポネントを探す必要がある。あらかじめprivate var TR : Transform;と宣言していれば処理は早くなる。(AwakeでTR=transform)。
配列は複数個のデータを扱う際に処理に負担をかけにくい。
他にプレーヤーとの距離やカメラに写っているかにによってスクリプトを休止させることも役立つ。Updateはフレームごとに処理をするので負担をかけやすい。
MonoBehaviourグローバルファンクション。ファンクションを呼び出したりマウスオーバー時の反応を決定。Updateファンクションもその一つ。
パフォーマンスを上げる方法。var foo : MyScript = GetComponent(MyScript)のようにfooをあらかじめMyscriptと宣言していると早くなる。#pragma strictをスクリプト冒頭に加えるとこの静的な宣言しかできなくなる。
Unityは正しいコンポネントを探す必要がある。あらかじめprivate var TR : Transform;と宣言していれば処理は早くなる。(AwakeでTR=transform)。
配列は複数個のデータを扱う際に処理に負担をかけにくい。
他にプレーヤーとの距離やカメラに写っているかにによってスクリプトを休止させることも役立つ。Updateはフレームごとに処理をするので負担をかけやすい。
2010年2月14日日曜日
2010年2月13日土曜日
【Unity】その18:スクリプト
スクリプト:ベクトルと変数、インスタント生成まで。
オブジェクト位置情報をもとに値を返したり距離をだせるVector3
transform.positionでオブジェクトの位置
Instantiate (prefab,・・でプレハブが生成できるはずだがなぜかできない。
プレーヤーとの距離を測りアクションを指定できるなどようやくゲームらしくなってきた感じ。
オブジェクト位置情報をもとに値を返したり距離をだせるVector3
transform.positionでオブジェクトの位置
Instantiate (prefab,・・でプレハブが生成できるはずだがなぜかできない。
プレーヤーとの距離を測りアクションを指定できるなどようやくゲームらしくなってきた感じ。
2010年2月11日木曜日
【Unity】その17:スクリプト
引き続きスクリプトのリファレンスの勉強。
メモ
GetComponent(コンポネント)でゲームオブジェクトのコンポネントにアクセスが可能。
var value :でコンポネントやスクリプトも充てられる(?)
TransformクラスでTransform.Findで子オブジェクトを指定可能。
GameObject.Findでも。
いろいろ実験してます。
メモ
GetComponent(コンポネント)でゲームオブジェクトのコンポネントにアクセスが可能。
var value :でコンポネントやスクリプトも充てられる(?)
TransformクラスでTransform.Findで子オブジェクトを指定可能。
GameObject.Findでも。
いろいろ実験してます。
2010年2月10日水曜日
【Blender】その6
どうもBlenderはなじまない。もう少しチュートリアルを探ってみるが、場合によっては造形はWings3D、Blenderでテクスチャ当て・アニメーション追加という作業工程にした方がいいかもしれない。
2010年2月9日火曜日
【マンガ】その9:プロット完成
マンガのプロットがついに完成。これを骨子にラフを描きます。物語は炭坑がある小島が舞台で時代は明治頃、純真で人を信じる少年・皓介(コウスケ)と熱心だが傲慢な令嬢・千逸(チハヤ)、乱暴者でつるぺたの浮浪の子・雛(ヒナ)が出会って親交を結び、島の危機を防ぐという王道の展開です。
今の時点で気づいた問題になりそうなことは物語の場面が多いことで、ころころと場面が変わることで読者に混乱を引き起こす可能性があります。登場人物はそれほど多くありませんが、ある事柄に対してそれぞれが反応する様を描くので場面が多く冗漫になるかもしれません。また話の進み方、特に皓介・千逸・雛の関係の進み方が早すぎるような—出会ってすぐに仲良くなってすぐに親友になってしまうみたいな—気もします。
しかし、ともかくも年間目標に向けて一つの作品を書き上げるというのが当面の自分に課した課題なので、まずい点は修正しつつ作業を進めて行きます。
3月の中旬までにラフは仕上げたいです。
今の時点で気づいた問題になりそうなことは物語の場面が多いことで、ころころと場面が変わることで読者に混乱を引き起こす可能性があります。登場人物はそれほど多くありませんが、ある事柄に対してそれぞれが反応する様を描くので場面が多く冗漫になるかもしれません。また話の進み方、特に皓介・千逸・雛の関係の進み方が早すぎるような—出会ってすぐに仲良くなってすぐに親友になってしまうみたいな—気もします。
しかし、ともかくも年間目標に向けて一つの作品を書き上げるというのが当面の自分に課した課題なので、まずい点は修正しつつ作業を進めて行きます。
3月の中旬までにラフは仕上げたいです。
2010年2月8日月曜日
2010年2月6日土曜日
2010年2月5日金曜日
2010年2月4日木曜日
【東京急行】その3:銀座
深夜に絵を描いていたら焦げ臭くて何事かと見たらトレス台が煙を出している。驚いて分解してみると回路のコイルが焼き切れていることが判明。トレス台がないと清書が出来ぬ、甚だ不便と秋葉原に小型の蛍光灯装置を買いに行くことに。しかしそれだけでは電車賃が惜しいのでついでに銀座の画廊を巡ることにした。
秋葉原でお姉様と黒子さんを発見。ここはよくマンガや絵の教本を買いにGamersやとらのあなに行っていたが、電気街で部品を探すのは今回が初めてだった。猫の額のような狭さの場所にカメラやら電子部品やらをズラーと並べた店店がおしくらまんじゅうをしている。ここで10Wスリム蛍光灯を点灯させる照明装置を買うことができた。
山の手で南下し新橋駅で下車。電通のギャラリーで広告展をやっていたのでそれを見て、そこから銀座に向かったが、どう間違えたか築地に着いてしまった。実は築地で海鮮丼を食べてるのもいいと思っていたので行ってみると、築地には鮨や海鮮丼などの飲食店が集まっている所があるのだが、時刻はお昼時、大変な人が並んでいる。並ぶに慣れぬ待つに我慢出来ぬは田舎者の弊、価格も二千円などとなればそこそこに退散して、別の店で550円の親子丼の出来損ないみたいなものを食べた。
途中歌舞伎座を見つけた。これはいずれ行ってみたいと思いつつ進むと、画廊が見つからない。地図が荒くて役に立たないのだ。
しかし、ある画廊を見つけて、そこで銀座の画廊の地図を手に入れることができたので、これ幸いと方々訪ねた。まったく画廊と言っても大変な狭さで、銀座の雑居ビルの地下などにヒッソリ収まっているので注意を怠るとすぐに見逃してしまう。展示されている絵や彫刻に払うと同等の集中力をもって銀座は歩かないといけないのだ。一番感銘を受けたのは水彩の風景画でかなりの熟練度、色も味わいがあり、これは近いうちに風景画を描かなければと思った。4時間くらい立ちっぱなし歩きっぱなしで疲れたので有楽町駅からJRに乗って帰ってしまった。
秋葉原でお姉様と黒子さんを発見。ここはよくマンガや絵の教本を買いにGamersやとらのあなに行っていたが、電気街で部品を探すのは今回が初めてだった。猫の額のような狭さの場所にカメラやら電子部品やらをズラーと並べた店店がおしくらまんじゅうをしている。ここで10Wスリム蛍光灯を点灯させる照明装置を買うことができた。
山の手で南下し新橋駅で下車。電通のギャラリーで広告展をやっていたのでそれを見て、そこから銀座に向かったが、どう間違えたか築地に着いてしまった。実は築地で海鮮丼を食べてるのもいいと思っていたので行ってみると、築地には鮨や海鮮丼などの飲食店が集まっている所があるのだが、時刻はお昼時、大変な人が並んでいる。並ぶに慣れぬ待つに我慢出来ぬは田舎者の弊、価格も二千円などとなればそこそこに退散して、別の店で550円の親子丼の出来損ないみたいなものを食べた。
途中歌舞伎座を見つけた。これはいずれ行ってみたいと思いつつ進むと、画廊が見つからない。地図が荒くて役に立たないのだ。
しかし、ある画廊を見つけて、そこで銀座の画廊の地図を手に入れることができたので、これ幸いと方々訪ねた。まったく画廊と言っても大変な狭さで、銀座の雑居ビルの地下などにヒッソリ収まっているので注意を怠るとすぐに見逃してしまう。展示されている絵や彫刻に払うと同等の集中力をもって銀座は歩かないといけないのだ。一番感銘を受けたのは水彩の風景画でかなりの熟練度、色も味わいがあり、これは近いうちに風景画を描かなければと思った。4時間くらい立ちっぱなし歩きっぱなしで疲れたので有楽町駅からJRに乗って帰ってしまった。
2010年2月3日水曜日
【Unity】その16:スクリプト
スクリプトのリファレンスを見て色々試す。クラスや値の扱いはDim3でやっていたので難しくはない。スクリプト間の通信も思ったよりは、簡単そう。しかし用意されているクラスはべらぼうに多い。全てを使いこなす必要はないが何かしたいときに何を使えばいいのかすぐに探し出せるくらいの知識は必要だろう。今週中にスクリプトの特徴を掴んでおきたい。
2010年2月2日火曜日
【東京急行】その2:国立競技場など
水道橋の学校にいくついでに信濃町駅近くのギャラリーThe Artcomplex Center of Tokyoに寄って雑貨品の展示販売を見る。その後駅を南に下って行き、聖徳記念絵画館に。国会議事堂にお団子を載せたような形でなんと入場料が大人でも五百円。明治天皇を中心に明治時代の様子を描いた日本画と西洋画が展示されている。中は天井が高く荘厳で寒く人が少なく静かで靴がコツコツ響く。教科書にでてきた絵を数点見つけることができた。どれも第一線の画家が大変な労力をかけて明治天皇の為に描いているいるだけあって重厚感が感じられる。
近いので明治記念館本館にも行ってみる。憲法の御前会議が開かれた(!)部屋にある喫茶店に入れた。従業員は皆ピカピカの真っ黒いチョッキ。なるほどココアが950円するわけだ。部屋も豪華な造りでこんな所でお茶するのは初めての体験だった。スーツでも着てくるべきだったかも知らん。記念館を出て歩き歩き迎賓館へ。これはパリの宮殿のようだ。(下の写真は記念館の受付付近の様子)
その後神楽坂のギャラリーに行き—絵は面白くなかったが神楽坂の街は探索のしがいがありそうだ、ワインバーやら個人料理店やら—最後に印刷博物館で印刷の歴史を勉強して(ここも二百円と恐ろしく安い)小旅行は終わった。
近いので明治記念館本館にも行ってみる。憲法の御前会議が開かれた(!)部屋にある喫茶店に入れた。従業員は皆ピカピカの真っ黒いチョッキ。なるほどココアが950円するわけだ。部屋も豪華な造りでこんな所でお茶するのは初めての体験だった。スーツでも着てくるべきだったかも知らん。記念館を出て歩き歩き迎賓館へ。これはパリの宮殿のようだ。(下の写真は記念館の受付付近の様子)
その後神楽坂のギャラリーに行き—絵は面白くなかったが神楽坂の街は探索のしがいがありそうだ、ワインバーやら個人料理店やら—最後に印刷博物館で印刷の歴史を勉強して(ここも二百円と恐ろしく安い)小旅行は終わった。
2010年2月1日月曜日
【マンガ】その6:プロット
設定したイベントを時系列に配置して物語のプロットを作成中です。順調に作業は進んでいますが如何せんイベントも多く時系列に配置するとなると組み合わせや前後との連続性も整合させる必要があるために時間がかかっています。4時間半かけて物語の半分過ぎまでプロットを作りました。前月で終わらせるつもりだったので、急いでいます。