アニメーションのミラー作成

前回の記事で、ヨット転覆のアニメを作ったことを書きました。
左側に倒れる方を作ったのですが、反対側も作らなきゃ~なのですが・・・
左右対称にコピー出来ればいいんですが、僕が使っているQAvimatorにはそんな機能はありません。
Poserという、高いソフトを買えば、できるらしいんだけどね。
フリーソフトでそんなことできないかなって、ずっと探してたんですが、見つからず・・・
(もし誰か知ってたら教えて下さいww)

そこで、考え出した技が、『bvhファイル(QAvimatorで書き出したファイル)の数値情報を直接いじってしまおう!』なのです。

bvhファイルには、おしりの位置のXYZ座標と、各関節のXYZ軸の回転角度が数値で書かれているのです。
修正する内容は、次のとおり
1.位置のX座標の符号を反転する
2.腰、腹、胸、首、頭、それと左右の肩、二の腕、前腕、手、太もも、下腿、足について
各YとZ軸回転角度の符号を反転する
3.肩、二の腕、前腕、手、太もも、下腿、足の回転角度をそれぞれ左右を入れ替える


これをテキストエディタとエクセルを使ってやってみました。

なんと!!!

できました~♪


 
 

これでだいぶ作業が楽になりました^^

誰か、一発変換のプログラム作ってくれないかな~^^

ヨット制作記 その3

ゆっくりと、しかし確実に、完成に向けて進んでおります。
ヨット制作の話ですが^^

今、転覆する機能で壁にぶちあたってます^^;
転覆からリカバリーまでのボートの動きの制御と、その間のスキッパーのアニメを作っているのですが・・・
これがなかなか大変で><。
やっと、なんとか片方(左側に倒れた時)だけできました~



もう片方、アニメ作ると思うと、気持ちが折れそうなのですが・・・がんばらねば~なのです。

開発段階なので、まだまだおかしな部分は多々ありますが、ちょっとだけご紹介です^^



やはり、Fizzの作者のMothgirlはすごいなーと、尊敬してやみませんよ^^

Highslide JS の使い方

Bloggerで Highslide JS を使用する方法について、Miwhaさんからリクエストがあったので、紹介します。
とは言え、私もWeb関連の知識に関しては全くの初心者ですので、正確にお伝え出来るかどうかは、甚だ疑問ですがww
ちなみに情報源は、こちらのサイトです。
http://yas-hummingbird.blogspot.com/2008/07/bloggerhighslide.html
このサイトを基に、私がやった手順でのみ説明させてもらいますね。

1.ファイルをアップロードする場所の確保
Hislide JSを使用するためには、ファイルをいくつかアップロードする必要があります。
既にホームページ用のサーバースペースをお持ちの方は、そちらを利用してよいと思います。
そうでない方は、別途確保する必要がありますね。
私は、『Googleサイト』を利用することにしました。
http://www.google.com/sites/help/intl/ja/overview.html
アカウントを取得したら、『+ページの作成』、『+ファイルを追加』でファイルをアップロードすることができます。


2.Highslide JS のダウンロード
以下のサイトからHighslide JS をダウンロードします。
最新版を落とせばいいと思います。
http://vikjavev.no/highslide/





落としたzipファイルを適当な場所に解凍しておきます。

3.JSファイルの修正

解凍したファイルの中の、『hislide.js』を修正します。
...\highslide-4.1.7\highslide\highslide.js
ノートパッド等のテキストエディタで編集するとよいでしょう。

(1)クレジットの表示を消す
showCredits : true, // you can set this to false if you want
highslide.jsファイル内の上記『true』を『false』に変更します。

(2)不要な参照を削除
var src = hs.graphicsDir + (hs.outlinesDir || "outlines/") + this.outlineType +".png";
highslide.jsファイル内の上記『+ (hs.outlinesDir || "outlines/")』は必要ないので削除します。

4.CSSファイルの作成
これはhumming birdさんが書かれていたものを、そのままコピペしました。

@charset "UTF-8";

.highslide {
    cursor: url(http://(Uploaded Folder Name of Your Page Address)/zoomin.cur), pointer;
    outline: none;
}

/* 拡大したときにこれでサムネイルを隠す*/
.highslide-active-anchor img {
    visibility: hidden;
}

.highslide-wrapper {
    background: white;
}

.highslide-caption {
    display: none;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
    padding: 0 1em;
    line-height: 1.5em;
    background-color: silver;
    font-size: 10pt;
}

.highslide-loading {
    display: block;
    color: black;
    font-size: 12px;
    font-style: italic;
    font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
    font-weight: bold;
    text-decoration: none;
    padding: 2px;
    border: 1px solid black;
    background-color: white;
    padding-left: 22px;
    background-image: url('http://(Uploaded Folder Name of Your Page Address)/loader.white.gif');
    background-repeat: no-repeat;
    background-position: 3px 1px;
}

a.highslide-full-expand {
    background: url('http://(Uploaded Folder Name of Your Page Address)/fullexpand.gif') no-repeat;
    display: block;
    margin: 0 10px 10px 0;
    width: 34px;
    height: 34px;
}

/* These must always be last */
.highslide-display-block {
    display: block;
}

.highslide-display-none {
    display: none;
}

これをテキストエディタにコピペして、『highslide.css』というい名前で保存します。
ここで、『(Uploaded Folder Name of Your Page Address)』と書かれた部分は、1.で決めたアップロード先のアドレスに書き換えておきます。

5.必要なファイルをアップロードする
次のファイルを1.で決めた場所にアップロードします。
(解凍したフォルダー内から探し出してアップして下さい。)
・highslide.js … 必須
・highslide.css … 4で作成したCSS
・drop-shadow.png … 拡大表示したときの画像の影
・fullexpand.gif … 大きな画像を表示するとき必要
・loader.white.gif … 画像のロード中に表示する
・zoomin.cur … ズームインカーソル
・zoomout.cur … ズームアウトカーソル
ファイルは全て同じフォルダー内に置いておきます。

6.Bloggerのテンプレートを修正する
(1)ブログの管理画面から、『レイアウト』→『HTMLの編集』を開きます。
『テンプレートの編集』の所に、コードが書かれていますが、ここを修正するのです。
修正する前に、コードを全てテキストエディタにコピぺして、別ファイルでバックアップしておくといいと思います。



(2)次の文字列をHeaderタグ内に追加します。
<link charset='UTF-8' href='http://(Uploaded Folder Name of Your Page Address)/highslide.css' rel='stylesheet' type='text/css'/>
<script src='http://(Uploaded Folder Name of Your Page Address)/highslide.js' type='text/javascript'/>
<script type='text/javascript'>
//<![CDATA[
hs.graphicsDir = 'http://(Uploaded Folder Name of Your Page Address)/';
//]]>
</script>

headerタグ内・・・コードの最初の方に『head』という記述があるので、その下あたりに、挿入してあげます。
ここで、『(Uploaded Folder Name of Your Page Address)』と書かれた部分は、1.で決めたアップロード先のアドレスに書き換えておきます。

(3)『テンプレートを保存』のボタンを押します。
テンプレート側の設定はこれで完了。
もう一息です^^



7.投稿記事の修正
記事を新しく投稿する時や、過去の記事を編集する時に、画像へのリンクを修正します。

例えば、
<a href="http://www.XXXXXX/YYYY/ZZZZ.jpg" target="blank"><img alt="" src=""http://www.XXXXXX/YYYY/ZZZZ.jpg" width="200" /></a>

こんな記述になっていると思いますが、『target="blank"』の所に、次の文字列を記入します。
・class="highslide"
・onclick="return hs.expand(this)"

先ほどの例で言うと、
<a href="http://www.XXXXXX/YYYY/ZZZZ.jpg" class="highslide" onclick="return hs.expand(this)"><img alt="" src=""http://www.XXXXXX/YYYY/ZZZZ.jpg" width="200" /></a>

となりますね。

Highslide JSを使用する画像については、全てこの修正を加える必要があります。




以上が、私がHighslide JSを使用するために行ったことの全てであります。
Highslideには、この他にも多くの発展的な使い方があるので、チャレンジしてみて下さい。

ヨット制作記 その2

さて、前回の記事で開発宣言をした「39er」ですが、どんなヨットにしたいのか、もう少し詳しく書いてみたいと思います。



このヨットは2人乗りで、スキッパー(舵を操作する人)がメインシート(メインのセール)を操作します。
クルー(もう一人の乗組員)がフォアセール(ジブ)とスピネーカー(ジェネカー)を操作します。
体重移動も、2人分の体重をかけてボートの傾きを調整するのです。
ですので、もし1人しかいない時はジブとスピネーカーが操作できませんし、体重も一人分だけだと艇の傾きを抑えられません。
とは言え、SLでヨットに乗るのに、常にもう一人連れて来なきゃ乗れないというのも、不都合です。
そこで今回は、いつでも一緒に乗ってくれるクルーをオブジェクトで付けるようにしました。
体重移動やトラピーズも文句を言わずにこなしてくれます。
もちろん、他の誰かがクルーとして乗り込む時は、黙って席を譲ってくれますよ。



その他、仕様としては
・ウインドセッターへの対応(SLのヨットですから、これはあたりまえですね^^;)
・見かけの風(向き、強さ)の表示
 (ヨットに乗っている人は、自分が動くことで起きる風のために、真の風はわからないのです)
・ウインドシャドー(風下への風を遮断し、その範囲にいる相手のスピードを落とす)
・リーバウ(風上側斜め後方への風を攪乱し、その範囲にいる相手のスピードを落とす)
・キャプサイズ
 (艇が傾きすぎると転覆します。レースでは大きなタイムロスとなります)
などなど、スタンダードであるFlyingFizzの仕様を踏襲していこうと思っています。



現在の進行状況についてですが、ヨット各部のモデリングは完了しました。
ただし、クルー君はまだラフの段階です。
アバターのアニメは一応完了。
スクリプトは、メインとなる部分(風を受けて走る、曲がる、止まる)の部分は出来ました。まだ細かいチューニング(味付け)が残っています。
ウインドシャドーや転覆機能、スプラッシュ、その他各種機能の部分は現在進行中です。
テスト走行ができるまでは、まだもう少しかかりそうです^^;



年内にはリリースを予定しています。
このヨットで大勢でレースができるのが楽しみでしようがない、Takeshiでした^^

ヨット制作記

え~と、TakuさんのBlogでスクープされてしまったので、正直に白状したいと思います。
今、ヨットを作っております、はい^^

SLのヨットは、FlyingTakoから始まり、Tettraのようなモダンなクルーザーから、Trudeauのようなクラシカルな美しいヨット、ACAのような最新鋭レース艇など、今日では様々なタイプのものがあります。

Flying Tako


Trudeau Larinda


ACA(Americas Cup Anywhere)


そんな中でも、FlyingFizzというディンギー(1~2人乗りの小型のヨット)は、僕にとって特別なヨットでした。
SLヨットの楽しみを最初に教えてくれたのがFizzでしたし、レースでの真剣勝負の緊張感を味わったのもFizzでした。
そんな、僕が大好きなFizzのようなヨットを作ってみたいと、最近思うようになりました。

Flying Fizz




モデルとしたのは、49erというRLで実在するヨットです。
オリンピックの種目にもなっていて、欧州では大人気のクラスらしいです。
2人乗りで、スキッパーは舵とメインセイルを担当。
クルーがジブとスピネーカーの操作を担当します。
ハルの両サイドに取り付けられたウイングの縁に立ってワイヤーでぶら下がります。
このように体重をかけて艇を傾かないようにすることをトラピーズと言いますが、クルーだけではなくスキッパーもトラピーズするんですよ。
このクラスのヨットでは最速の部類に入ります。
49erには、弟分の29erというクラスもあり、こちらはハルにウイングがついていないタイプです。

29er




この49erと29erをモデルにして、爽快感のある、ダイナミックなヨットを演出しようと考えています。
ちなみに、開発コード(呼称)は"39er"ですw

その"39er"の詳しい内容については、次回にまわしますww

引っ越しました

ソラマメの商用利用の有料化に伴いまして、ブログを引っ越してきました。
貧乏人の僕には、ブログにまでお金を使う余裕はありません。><。

過去のデータをこちらに移そうとしたのですが、画像(写真)を移すのが大変そうです^^;
暇な時にボチボチやるつもりです。

それから、サードパーティー製のBloggerテンプレートを使ってみたのですが、レイアウトとか調整のやり方がいまいちわからないww
これも、時間をかけていじっていこうと思います。

そんなわけで、どうぞよろしく♪ ('-'*)