2015年12月3日木曜日

Blenderでチューブの表面を光が移動するアイテムの作り方

セカンドライフ技術系 Advent Calendar 2015[12/3担当]
複数人で一ヶ月間1日一つ技術系トピックスをあげています。


今回はBlenderでチューブの表面を光が移動するアイテムの作り方です。
わたしこの演出が大好きなのでSLでいっぱい増えればいいなと思いこの記事を書きました。結構簡単にできるので作ってください。




最初に

1.まず素体のチューブを用意します。 Curve機能を使えば簡単。

2.先にUV展開を済ませておく。UV展開方法はここを参考に。
UVマップは横長にする。SLのテクスチャをスクロールさせるスクリプトが横方向にしか流れないため。


3.チューブのメッシュを同じ場所にコピー(Shift+D)する。
このメッシュが外側の光が流れる方のメッシュになります。

外側に面を貼る

1.光のメッシュを選んで『OutLiner』画面の六角レンチアイコンの『Add Modifier』プルダウンメニューから『Solidify』を選択。


2."Even Thickness"と"High Quality Normals"にチェックを入れ、"Fill Rim"(厚みの間に面を貼る)のチェックを外します。
今回は"Thickness"と"Offset"の数値を使います。
"Thickness"の数値は厚みを設定します好きなように調整してください。
"Offset"は厚みを出す位置、どちら側にはみ出すかを設定します。今回はチューブの外側に光を流したいので、プラスの数値を設定します。




3.『Solidify』パネルの『Apply』を押すと確定します。
外側にメッシュができています。

分離をする

内側の頂点をalt+右クリックで選択をして消去する。

これでBlender上の作業は終わりです!
Collada形式で出力してSLにアップロードしてください!


光のテクスチャを用意する

横にスクロールするので以下のような画像だと最初の動画のような光がチューブの周りを撫でるような感じになります。 この画像は個人的な使用ならSLにアップしても構いません。(フリー配布や販売はダメ)
これを外側の光のメッシュに貼ります。
光のテクスチャ

スクリプトを用意する

テクスチャをスクロールさせるスクリプトです。
llSetLinkTextureAnimを使用します。

  llSetLinkTextureAnim(リンクナンバー,ANIM_ON | SMOOTH | LOOP,面,横フレーム,縦フレーム,開始位置番号,毎秒のフレーム数);
スクロールの場合は赤字の部分を変更して調整します。

以下のスクリプトをコピーしてSL内で使用してください。こっちは自由に使用してOKです。タッチをするとスクリプトの入ってるプリムがスクロールを始めます。


default
{
    touch_start(integer num_detected)
    {
   
llSetLinkTextureAnim(LINK_THIS,ANIM_ON | SMOOTH | LOOP,ALL_SIDES,1,1,1,1,0.1);

    }

}


完成!






2015年12月2日水曜日

BlenderでUVを四角く展開する

セカンドライフ技術系 Advent Calendar 2015[12/2担当]
複数人で一ヶ月間1日一つ技術系トピックスをあげています。



今回はメッシュUVマップをBlenderで四角に綺麗に、ちょっと楽に展開する方法です。
この方法はメッシュが四角の集まりでないと成功しない可能性があります。


今回は以下のメッシュをUV展開します


1.普通にSeamを入れて『Unwrape』で展開します。
するとちょっと以下のようになります。この時なるべく垂直、水平になるように角度を調整してください。回転はキーボードの『R』


3.次に『3DViwe画面』、Edeit Modeで面を選択できるようにして、四角く展開したいメッシュの面を一つ選択してください。

4.そして、『A』を押してメッシュ全て選択をしてください。
下の画像のように面が他の選択部分より一つだけ白くなっているはず。最後に頂点を選択するモードを選択。


5.『UV/image Editor』に移って、さっき選択した面の部分が白く網掛けになっているのでそこの面の周りだけ垂直水平にします。


6.垂直水平にしたい列を選択して『UV/image Editor』の中にマウスポインターを置いたままキーボードの『W』を押して、Align OutoまたはAlignX,AlignYのどれかでまっすぐになります。


7.以下の図のようにする。他の部分がぐちゃぐちゃでも問題なし。


8.『3DViwe画面』にもどり、Edeit Modeでキーボードの『U』から『Follow Active Quads』を選択、プルダウンメニューは『Length Average』または『Length』を選んでOKを押す。

9.するとUVが綺麗に四角に!!





2015年9月21日月曜日

LSL 型の変換

LSL を書くときに詰まったのが変数の型の変換でした。
これを知っておくとサンプルスクリプトからスクリプトを使いやすいようにアレンジしやすくなります。
ざくっと解説を置いてきます。プログラミングに詳しくはないので間違っているかもしれないので間違っていたら教えてください><

整数→文字列に変換したい場合

整数型の変数[Hensu]を文字列型として扱いたい
integer Hensu=123 ;  
(string)Hensu

 integer=整数型 /Hensu=変数(ユーザー定義)/string=文字列型

変数の前に変換したい型を( )付きで挿入する。


例1)

integer Hensu=123 ; 
default {
   state_entry()
   {
       llSay(0, "数字変換結果["+ (string)Hensu + "]"); 
   }
}

例2)

integer Hensu=123 ; 
default {
   state_entry()
   { 
       string Moji=(string)Hensu
       llSay(0, "数字変換結果["+ Moji + "]");  
   }
}

どちらも 数字変換結果[123] と出力されます。
ダイアログのテキストなどに組み込んだり、スクリプトの途中で変数が何になっているのか調べる時にllSayで出力したりと便利です。

------メモ-------

string(文字列) 例)"ああああ" 
vector(ベクトル、色や座標を指定する時に使うやつ) 例)<1.0, 2.0, 3.0>
integer (整数) 例)100 -58
Float(小数点) 例)0.1 
など。

変数

スクリプトを書く人が定義するやつ、どの型か指定する必要があり。
BlackSheep-LSL@Wiki 基礎知識 > 変数とは?

2015年3月12日木曜日

Second lifeの始め方と基本的な操作 1 

Second life(SL)って?

基本自由度が高いのでなんでもできます。
お友達とチャットをしたり、アバターや自宅を飾ったり、素敵な風景を見て回ったり
洋服やアクセサリーを作って売ったり、ゲームだって作れます。
Windows/Mac/対応です。
あと基本アイテム類は同じユーザーが作って販売や配布をしているので、玉石混合ですが種類がはんぱなくあります。

料金は?

基本無料です。土地や自宅を借りたり、有料の洋服などを購入、テクスチャーやメッシュモデルをアップロードするときにお金がかかります。

SLの始め方

・アカウントを作る。

基本的には他のオンラインゲームと同じです。登録時にメールアドレスが必要です。

SL公式ページに行きます。

 http://secondlife.com

・オレンジ色のボタンをクリック


・アバターを選択します。

ここは適当で大丈夫です。いくらでも後から違う見た目や一覧に並んでいるアバターに変えることができます。
※左上のLanguageタブから日本語表記にすることができます。

・ユーザー名を作成

ここはよく考えて命名してください。
基本的に登録後の名前の変更は不可能です。
使用文字は英数字のみ。

・項目を記入する。

氏名、メールアドレス、生年月日、秘密の質問と答え


・無料会員か有料会員か決める。

とりあえず無料の方を選択


・SLクライアントのダウンロード




・ダウンロードが終わったら、SLクライアントを立ち上げる

・ログイン…の前にクライアントを日本語化する


  1. 左上の"Me"をクリックすると"Preferenes…"という項目が出るのでそれをクリック。
  2. すると環境設定メニューが出ます。
  3. 環境設定メニューの一番上、Generalタブを選択。
  4. "Language"の"English"と書いてあるプルダウンタブをクリックして日本語を選択。
  5. 何か出てくるので"OK"を押して、環境設定メニューの右下の"OK"ボタンを押す。
  6. second lifeクライアントを再起動させます。
  7. すると各メニューが日本語になっています。


・ログイン

左にアカウント名、右にパスワードを入れて一番左のオレンジの"ログイン"ボタンクリックでslを始めることができます。


・利用規約とポリシーに同意にチェックを入れて続行ボタンを押す。


・SLにログインできました!

チュートリアル用の場所に出てチュートリアルを受けることができます。
やらなくても問題はありません私もよくわかりませんでした。

次回基本操作編

2015年2月9日月曜日

UVのアウトラインを出力する


よくSLで自分でテクスチャーを描く事ができるタイプの製品に入っているあれです。


  1. 出力をしたいオブジェクトを選択
  2. 3D view画面でEdeit Modeにする
  3. UV / image editor画面のUVs > export UV layoutを選択
  4. 出力

Bakeができない(Blender)

BlenderでテクスチャーBakeができない時の対処法
以下のサイトの解説で解決出来ました。