ゲームと英語とすんでるとこ -8ページ目

ゲームと英語とすんでるとこ

ゲームと英語のメモブログと話題なテーマへのコメント

ポーズボール 作り方の考え方はわかりました。

でも LSLの特徴なのかもしれませんが、


アニメをさせる 命令系の呪文・・・ なんでしたっけ。。


llStopAnimation(string anim);


この呪文 誰を というのが抜けているらしく、 誰を という 呪文を書かないとだめなようです。。


タッチ呪文 → パーミッションを要求。

パーミッション呪文で → アニメ命令


パーミッション命令呪文 llRequestPermissions()  まえに銭が2本あるから 命令系の呪文ですね。


llRequestPermissions(key agent, integer perm)

()のとこは 命令の詳細と考えればいいのかなぁ と思ってます。 間違ってたらごめんなさい。



■答え


touch_start(integer detected){
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
}


だ そうです。


タッチのとこは わかりますね。 タッチというきっかけで パーミッションを取得すると

そのあとの( )がわからん。。。。


llDetectedKey(0),  ??? 線が2本あるから 命令系かしら 0 って何が0やねん。。

PERMISSION_TRIGGER_ANIMATION  まったくわからん。。


で 検索。。。。

http://mina.slmame.com/d2007-04-25.html  みつけた!!


まず、ぱーみっしょん パーミッション = 許可 ですね 何を許可とるのでしょうか?

で これよんでたら わからなくなった・・・。


http://miz.slmame.com/e2514.html


こんどは こっちをみた。ふむふむなるほど、 また わからん。。


えーいさいごだ。

http://miz.slmame.com/e2381.html

書いてた。

llRequestPermissions(key agent, integer perm) 呪文とその詳細。


key agent

誰に対して許可を取るかの指定です。
UUIDをセットします。

他のページにもでてたけど、UUID ってなんやろなぁ。

で早速。。


key UUID(UniversallyUniqueIndentifier)。オブジェクトを識別するキー

だそうです。


しかも 説明のところのタイトルが ”LSLで使用できる型”

型ってなんやねん。。。 はぁ。

id   アバターのUUID と書いてました。。。 Key id は アバターのIDなのかしら?

なるほどね。 オブジェクトのキーね なるほどね。



学習できたのは、

お金を扱う関数を始めとして、

アバターのアニメーション、

オブジェクトのリンクの変更、

カメラ(視点)の制御、

キー入力の判定などの処理については

使う前にパーミッション(許可)をとるらしい。。。


まぁ そうしないと無法地帯になりますからね。。。


どうやら許可の呪文は 覚えておかないとゲームはつくれないようです。

あ そうそう オイラの目標は SL内にゲームをつくることです。構想3年ぐらい。。。


話をもどします。


llRequestPermissions(key agent, integer perm) 


アバターのIDだな、 インターグラ パーム?? 何をさせるか?をいれるらしい。。。

本家のWIKIをみてみた あえて避けていたけど・・・。


PERMISSION_DEBIT マネーの許可

PERMISSION_TRIGGER_ANIMATION 


なるほどね。呪文の() にいれるキーワードが書いてあるじゃないか。

しかも 下記が書いてある。

use of llStartAnimation and llStopAnimation

そんな面倒なつくりにしなくてもいいのにね。

なんとなく 仕組みがわかってきました。

引用

---------------------------------------------

string animation_name="boogie";
key agent = NULL_KEY;

default {
touch_start(integer detected){
if (agent == NULL_KEY) {
agent = llDetectedKey(0);
llRequestPermissions(agent, PERMISSION_TRIGGER_ANIMATION);
}
}

run_time_permissions(integer perm) {
key perm_key = llGetPermissionsKey();
if (perm_key == agent) {
if (perm & PERMISSION_TRIGGER_ANIMATION){
key chk = llGetInventoryKey(animation_name);
list anms = llGetAnimationList(agent);
integer i;
for (i = 0; i < llGetListLength(anms); i++){
if (chk == llList2Key(anms, i)) {
llStopAnimation(animation_name);
agent = NULL_KEY;
return;
}
}
llStartAnimation(animation_name);
}
agent = NULL_KEY;
}
}
}

---------------------------------------------

一番 上にかいてあるこれ string animation_name="boogie";

なんだろうと思ってしらべたら 宣言しているんですね。

animation_name は boogie のファイルですよーって、、。

直すときに ここのファイル名だけ直せばOK ということみたいです。

string型 ってなんやろ。

なんでも これ使ったらつかえんのかしら・・・。 

まず、ポーズボールという用語がわかっていないと これを見つけることができませんよね。。
僕はこれが大変でした。SLの用語。 SL=セカンドライフ オンライン系には略語した用語がでてきますよね。。

アバターの動き と考えて
ポーズ、アニメ、アニメーション、動作、動き なとこから連想して検索してました。
でも、ボールとつながらないですよね。これは色々なところを旅してみると
ボールがおいてあることに気がつくと思います。

さて、ポーズボールをつくるため 色々とサイトを調べてみました。
あ、最初にいっておきますが、僕はプログラマーではないので、まったくプログラムの知識はありません。。。ので

あしからず・・・。


でも、ポーズボールのプロセスは考えられると思います。
普通に考えると

1、誰かが ボールを触る。
2、触ると アニメーションがはじめる。
3、何かを押すと アニメーションがとまる。

というプロセスが行われているはずです。
ということは別でアニメーションを用意しないといけないのかしら??と思う。
ん 座ったらボールはけしたいなぁと思う。



これは、QAvimator というフリーのアニメーションを使います。

上記の動きをするには LSL でどんな風にかけばいいのでしょうか?

ボールに触る・・・。 これは?

touch_start( )

という呪文をつかうみたいです。

何かのトリガーをひかせないと 駄目みたいですね。

その後に アニメーションを動作させる という 呪文を書くみたいです。


それが これ

llStartAnimation(string anim);


タッチの呪文を詳しくみてみましょう。

しらべると 色々でてきます。


touch_start(integer num_detected)

touch_start(integer detected)


() のなかに いろいろとはいってますが、、。よくわかりません。。

とりあえず、touch_start(integer num_detected) これをひとつとして使うことにします。


あと 呪文についている ll これですが、 きっかけ と 命令 らしいです。

どういう時に? というのが  ll  これがついていないやつ。

ついているのは命令 呪文と覚えておきます。 参考:http://asuka-n.blogspot.com/2006_09_01_archive.html


touch_start( )

したら・・・・ というきっかけですね。 


タッチはわかるのだが、、 いまいち state_entry() がわからない。。

どんな状態のときに動作するのかしら?? これためしてみないとわからないですね。

アバターの画面にうつったとき? 近付いたときかしら。。。

何もしなくても発動する きっかけ なのかしら?? 自動で回転するとか。。。そんな感じなのですかね?


下記はメモです。


-------引用開始----------------

integer hidden = FALSE; // Stores whether the object is visible

default
{
state_entry()
{
llSitTarget(<0,0,1>,<0,0,0,1>); // Set the target one meter above the ground
llSetSitText("Pose!");
}

changed(integer change)
{
if(change & CHANGED_LINK) // If someone has sat on, or "linked," to this prim...
{
key agent = llAvatarOnSitTarget();
if(agent)
{
llStopAnimation("sit");
llStartAnimation("stand");
}
else
{
llStopAnimation("stand");
}
}
}

touch_start(integer total_number)
{
if(hidden)
{
hidden = FALSE;
llSetLinkAlpha(LINK_SET,1,ALL_SIDES);
}
else
{
hidden = TRUE;
llSetLinkAlpha(LINK_SET,0,ALL_SIDES);
}
}
}

-------引用終わり----------



2つのプリムを組み合わせるには、それらを接触(隣接)させる必要があります。


なんだ そうなのか?

二つのプリムを選んだら、Ctrl+Lでリンクしましょう!!! とも書いてある。

とりあえず これでグループ化できそうですね。



アバターつくりでわかったことがあります。

セカンドライフについてある設定画面でいじっても

ちょーーーーーグロテスクな顔にしかなりません。。


なぜだろう?? と思って調べてみると。

お化粧されたスキンを身につけるにはあたりまえなのだが、、、。


まずそのスキンですが、 公式サイトにテンプレートがあるようです。



ちょっとグロテスク。。。

公式サイトはここからダウンロードできます。

http://secondlife.com/community/templates.php


より高度なスキンテンプレートはこれ

http://www.slboutique.com/chipmidnight/

UVマップがどうのこうのらしいがよくわからん。。。


こちらはフォトショップCS2に対応しているらしい。もっとらんけど。

http://www.robinwood.com/Catalog/Technical/SL-Tuts/SLPages/AVUVTemplates.html


情報源はここだったり http://secondlife.tabigeinin.com/skin01.html


本題に、上記のテンプレートをつかって綺麗なスキンをつくるのが前提なのだが、

なかなか綺麗なお肌にならん、なぜ?


今日判明したのは、なんんとライトを当てているのだ!!

リアルな撮影でもそうだが ライトをあてるよね。

その要領で、四方から ライトをあてて肌を白くみせていたのだ。。。。

していない人もいるのかもしれないけど。


オブジェクトから発光させて そのオブジェクトを透明にすると

お肌が綺麗にみえるのだ。。。。。 なんともはや。


しらなくて、グロテスクな顔しているから 早速ためしてみてください。綺麗にみえます。

綺麗にはなったのだが、、。そのオブジェクト 丸 3つが うまく保存できなかった。。。。


グループ化とかどうやんだろ?? 次回はそのへんを。


























色々とセカンドライフの世界を覗いていた3ヶ月

はっきり言ってよーわからん。


少なからずも・・・単純に遊びたいなぁ と思っている人には向かないかも。

ダウンロードして インストールして、ログインしてまず、英語に殺される。。。。


検索して 日本語化に成功したら もう疲れて旅にでれない。

アバターが気にくわないから。。。 独自のアバターにしようと思うが

やり方がわからん。。。。


これはこれでかなりパワーもいる。

カスタマイズできるアプリがついているが使い方がよーわからん。。。


アバターって? なんじゃらほい。。

スキン=皮 皮があるようだが、これが安いものから高いものまでうっているとな。

当然、シェイプ=体 にあったスキンを選ばないと駄目なんだろうなぁ。

こりゃ大変だ。


http://www.sec-life.com/appearance.html

ここちゃんと書いてますね。


簡単に言うと 使い倒すしか 近道はないのかもしれません。。。









セカンドライフでアバターのポーズや


ジェスチャーをつくる方法。




■使えるソフトは?


Qavimator


Avimato


DAZ STUDIO


http://www.geocities.jp/nyankko15/DAZStudio/index.html



Second Life Avatar Mesh


Posemaker(http://caladan.nanosoft.ca/c4/software/posemaker.php
)、


slat(http://sourceforge.net/projects/free-bvh-editor
)






というフリーの3Dソフトがあります。


どちらもフリーなので使い倒してください。




■ジェスチャー


固定ポーズ


アニメーション


の2つがあるようです。




■いちいちいれずに モーションキャプチャーをとる!!


個人用


http://www.watch.impress.co.jp/AKIBA/hotline/20050813/etc_motioncap.html



セカンドライフで作る リンデンスクリプト入門(CDROM付) (セカンドライフアーキテクト育成SCRIPTING series 1)/株式会社ウェブインパクト

¥2,940
Amazon.co.jp


クリティカルシンキング、ロジックツリーをマスター?すると

いやまだマスターしてないけど。

CTがどんなもんかわかってくると発想プロセスに時間がかからなくなる。(ほんとにそう)


何か考えることがあったときにでも、何から考えればよいかがわかる。

その後 時間がかかるんだけどね。。。。


仕事で、ある企業マーケティング全般を考える機会があったのだが、

すごく時間がかかった。。。。で反省しました。。


引き出しをつくっておくことはあたりまえなのだが、

その引き出しの質って大事だなぁと。

特に抽象的な概念に対する自分の答え、解釈をもっていないと駄目ですね。



ちとかっこいいなぁ と思った人。

佐藤可士和さん


理論や理屈では解決できない課題を
クリエイティブの力で突破しよう。


■3つのアイディアのカギ

①状況を考えて

②短所を長所に変えて

③ゼロからのスタート




メディア研究をしようかな~と思ったら

もう学問的に確立されている分野でした。


■DNPのメディア研究

メディアバリュー

http://www.dnp.co.jp/cio/solutions/news/up_file/46/index.html



■日本の研究機関

  • 東京大学 大学院情報学環・学際情報学府
  • 慶應義塾大学 メディア・コミュニケーション研究所
  • 北海道大学 大学院国際広報メディア研究科
  • 同志社大学  メディア・コミュニケーション研究センター
  • 国際大学 グローバル・コミュニケーション・センター (GLOCOM)
  • 筑波大学 図書館情報メディア研究科
  • 関西大学 社会学部 マス・コミュニケーション学専攻
  • 明治大学 情報コミュニケーション学部


  • 強み 弱みのつつきです。


    前回

    企業にとって強みというものは、

    価値 稀少性 模倣困難性 組織と4つの問いに対してどうなのか?


    価値という視点で、企業の資産、ケイパビリティ

    かなりのロジカルな思考が必要である。


    外部環境の機会に対して、今の資産やケイパビリティは

    価値を失うのか?どうか? という判断。


    ①新しい経済価値の獲得

     ・戦略的提携

     ・応用研究

     ・開発研究

     ・買収

     ・内部組織間のチームワーク

    あたらしい環境で競争していくためのスキル。


    ②これまでの強みをことなる活用


    ■価値があるかないかの判断

     ・保有していなかったときと、保有しているときに、

      パフォーマンス、売上が増えるのか?コストが削減できる、どちらかがの発生しない場合で判断、