・blenderショートカットキー 現在のビュー viewをカメラビューにしたいとき
CTR+ALT+数字の0
・オブジェクトの中心座標をカーソルに移動させる
中心点をオブジェクトの表面や底に移動させて、回転させたいときにオブジェクトの中心位置を変えたい時があります。
続きを読む
**
現在、アイフォンアプリ、アンドロイドアプリ用のスマートフォンゲームアプリを製作中です。
7月に作業に取りかかりました。はじめてのUnityですので、いろいろと覚えることがありすぎて大変です。
特に、Unityは3Dオブジェクトファイル、例えばブレンダーのファイルやFBXファイルを扱えることから、3Dポリゴンオブジェクトを作成できる3Dソフトとの連携が可能です。
つまり、3Dソフトブレンダー、MAYA、LIGHTWAVEなどで作成した3DポリゴンをUnityで表示させてゲームとして楽しむことができます。
しかし、覚えること、設定、パラメータなどが多くて忘れがちです。そこで、約1ヶ月経過したこともあり、ここで、最初に躓いたところをメモしていきます。
・C#、JAVASCRIPTについて
JAVASCRIPTとC#は、ほぼ構成が似ているので、ホームページや関連書籍を参考にできます。
また、JAVASCRIPTとC#の変換ウェブサービス(無料)もあります。
#include,#importを記述しなくても同じプロジェクト内のスクリプトは利用可能。
MonoBehaviourを継承しないクラスも作成できます。ただし、Unity独自のコマンドは利用できません。
using System.Collections.Generic; でstdのListが利用できます。
MonoBehaviourを継承するスクリプトはAddComponentが必要です。
[c]
public MyDialog dialog;
//dialog=new MyDialog();//not work
dialog=gameObject.AddComponent<MyDialog>();//MyDialog.cs
[/c]
GUI系のオブジェクトの扱いは、座標がスクリーン座標となります。3D空間ではありませんので、はじめは、あれ?になりますが、ああそうなのかそういうことねとなります。
Inspectorにパブリック変数を表示させたくないときは
[HideInInspector]
を記述します。すでに変数を与えてある場合や外部から変数をあてる必要がないときに使用します。
ブレンダーで作成したオブジェクトの大きさを1くらいとすると、Unityで表示させるときは、スケールを約30ー50倍くらいに拡大する必要があります。カメラ位置0, 10, -13の場合で、Projection:Perspectiveです。
また、横面にするためには、Y軸で90度、正面を見せるためにY軸180度回転させる必要があります。
UVをブレンダーで設定し、テクスチャを設定後、FBXに出力し、Unityにインポートするとき画像のリンクが解除されます(パスが不明となるため)ので、再度Unityで画像を設定する必要があります。画像を設定するだけです。UnityでUVを設定し直すようなことはありません。まあ、Unityにはポリゴンを作成する機能がないので、Unity自体でUVを作ることはできないので当たり前と言えば当たり前ですが。
出力のときは不要なカメラ、オブジェクトが挿入されないように、出力の時に、設定をします。
テクスチャは、オブジェクトで異なる設定で使いたい場合は、重複のテクスチャ、サーフェース名は使用しないこと。特に、名称なしやデフォルトは避けるようにしてください。重複のサーフェース名を使用すると同じ色になったり、想定した色と異なります。後の修正作業が面倒です。
意外に画面がきれいに表示されて折らず、ブロックひずみになっていると思いました。
ブレンダーでボーンを設定し、アニメーションを設定した後に、Unityにインポートしてアニメーションさせる
アニメーションをプログラムで制御する
http://wiki.unity3d.com/index.php/CSharpMessenger_Extended以前のリンク先が変わっていました。
—
アイフォンアプリで、テーブルのリストを選択して、ストーリボードの遷移を学習できます。
短いもので30分、長いもので1時間程度の学習時間になります。動画を見ながら、X-CODEでアプリを作りながら作業できるようにすれば理解も早いと思います。大きなディスプレイかマルチディスプレイの環境があるとよいです。
英語ですが、コードの入力からわかるので動画の通りに進めば、アプリが完成します。
いくつかの書籍を買ってユーチューブの内容を比較をすると、書籍の内容は、動画の説明の5分から10分程度にあたり、ユーチューブの動画の内容の濃さに驚きます。著者の実力を攻めているのではなくて、文字と静止ベースと出版界の事情の限界なのでしょう。
文字や画像が多くなると著者の負担が大きく、ページ数が増えれば書籍の金額高くなり、売れなくなるわけです。内容が濃ければ濃いほど読者は理解が深まりますが、実際はページ数が多くなり、本が重く検索できず、金額が高いという残念な結果になるのでしょう。
書籍、紙による教育、指導、教示の限界というものでしょうか。
動画も実際の講義やセミナーに比べて、緊張感や情報量、その場の雰囲気などに劣りますが、それでも十分学習できる内容でした。
ViewController.m
[c]
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
if (editingStyle==UITableViewCellEditingStyleDelete) {
Contact *delegatedContact=[self.contacts objectAtIndex:indexPath.row];
NSManagedObjectContext *moc=self.delegate.managedObjectContext;
[moc deleteObject:delegatedContact];
NSError *error;
if (![moc save:&error]) {
NSLog(@"error");
}
//もしこの状態で項目を削除したときにエラーがでたら [self loadData]の機能が足らないことになります。
[self loadData];//これがないと項目を削除したときにエラーがとなります。
[self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}
[/c]
関数
[c]
-(void)loadData{
NSManagedObjectContext *moc=self.delegate.managedObjectContext;
NSFetchRequest *fr=[[NSFetchRequest alloc]initWithEntityName:@"Contact"];
NSError *error;
self.contacts=[moc executeFetchRequest:fr error:&error];
}
[/c]
2012年くらいのXC0DEのユーチューブ動画や書籍には、forIndexPath:indexPathが記載されていません。新しいバージョンのXCODEではforIndexPath:indexPathが追加されていて、エラーになることがあります。
[c]
– (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
//アプリ実行をして不明なエラーの時は、forIndexPath:indexPathを削除する
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
//UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell==nil) {
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
// Configure the cell..
return cell;
}
[/c]
this class is not key value coding-compliant for the key cancelButtonPressed.’
これは、A画面からB画面に遷移するとき、遷移先のB画面にあるcancelButtonPressedの設定が間違っているために発生したエラーです。
A画面でボタンをタップしたときに、強制終了するので、A画面での問題かと思いましたが、A画面からB画面に移動する直前でエラーとなりました。
対処:
cancelButtonPressedが間違ってい設定されていた(画面上でびっくりマークが表示されている)部分を削除しました。
原因:
紐付けを行って、取り消しをコード上でしてもXlib上ではまだゴミが残っていたみたいです。そのため、びっくりマークが表示されていました。
慣れていないと何がどうなっているのかわからないエラーでした。
[c]
-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath{
if (editingStyle==UITableViewCellEditingStyleDelete) {
Person *p=[arrayOfPerson objectAtIndex:indexPath.row];
[self deleteData:[NSString stringWithFormat:@"DELETE from PERSONS where NAMA is ‘%s’",[p.name UTF8String]]];
[arrayOfPerson removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}
-(void)deleteData:(NSString*)deleteQuery{
char *error;
if (sqlite3_exec(personDB, [deleteQuery UTF8String], NULL, NULL, &error)) {
NSLog(@"OK");
}
}
[/c]
評価:星4つ
ストーリーボード、UITableViewのコード説明、リストの項目の追加、削除、変更までが説明されていて、非常に役に立つ講座です。アイフォン関連の初心者向け書籍に書いてある以上のことが学べます。一般に売られている書籍の内容の3倍以上の内容の濃さがあります。書籍の内容は、導入部だけで、そこから学ぶことは非常に少ないのです。実際は、そこからどうやって、発展させていくのかと言うことなのですが、実際のアプリ製作の約立つ内容にまでは踏み込まれていません。書籍では、単に、画面にリストを表示させておしまいというのが多い中で、この動画はリストに表示させて追加、削除まで説明されています。
iOS Development: Storyboards and UITableViews (Part 2 of 2)
iOS Development: Core Data
評価:星3つ
50分と1時間7分のところで、うまく動作しないところがありました。コンパイルエラーがなくて、リストを削除するとエラー、動作停止になります。
今の実力では直せません。
コメントにも同様の記載があるので、他の人も戸惑っているところがあるみたいです。
他の動画を見ながら、修正したいと思います。
—
画像1
評価:星3つ
UITableViewのコードが説明されており、検索についても説明。なお、私が実際にアプリを作ると検索が上手く動作しませんでした。リストを選択したり、リストを検索する方法が学習できます。
どこが悪かったのかを後日検討したいと思います。
Xcode 4.6 Tutorial – UITableView with Search Bar (Part 2)
Blenderブレンダーの今日の失敗、IK、Shift+IはChainLengthを0から1以上へ(Poseモード)
Poseモードでボーンを選択し(子供を先に1、次に親を選択2,これで子供の方を向く)IK、Shift+IはChainLengthを0から1以上へすること。
ChainLengthを忘れてしまうと、オフセットにしてても、隣接状態になります。
仮に、親側が他のボーンの子供であっても、強制的に、子供側のボーンに接近します。
注意すること、いきづまったらChainLengthを0から1以上へすることをチェックです。
画像
Blenderブレンダーの今日の失敗、ボーンの親子関係とIKは、親子が先、ミラーコピーの仕方
脚のボーンで、ユーチューブのチュートリアルのように上手く動作しなくて悩んでいました。
実は、ボーンの親子設定を先にして、後にIKを設定しないとならないようです。
この順番を逆にしていたので、うまくせっていできなかったみたい。
I understood, I should have set up bone parent before IK.
また、同じ、アーマチャアに、異なるオブジェクトを設定できます。
つまり、一つのアーマチャアで複数のボーンを動かせます。
00.png
ShiftーCでカーソルを原点に、ピリオド、るのキー
Shift-d、S、X、−1
で鏡面コピーです。
ブレンダーで歩行アニメーションを設定しようとしましたが、難しいです。うまく歩いているように見えません。
つまんないんですね。歩くからなんでしょうか。それよりももっと簡単でシンプルなアニメーションを作ろうと思います。
It was difficult to set up walk animation for me. I think that if I set up walk animation, I am not interesting this. So I will set up another animation.
ブレンダー レンダリングどんな感じか
ブレンダーには、Blender RenderとCycle Renderがあり、Cycleレンダーの方がリアリティのあるレンダリングができるようです。
今回、ライトウェーブで作成し、テクスチャを設定したファイルをブレンダーに読み込んでBlenderRenderでレンダリングを実行しました。
服を突き抜けているのは、ブレンダーが悪いのではなくて、Lightwaveのときから、ポリゴンを突き抜けていたと思います。
ブレンダーの標準BOX
Lightwaveで作成した顔
特に、何もせずに、レンダリングしました。
AmbientOcclutionのチェック入れて明るくしました。これがあるだけで、他のライトは必要ありません。でもちょっと強すぎ。
アニメ調にするのに、エッジにラインを入れたいときは、
Transparencyのチェックをオフにしたほうが良さそうです。
また、エッジのラインは、マテリアル、ライトウェーブで言うところのテクスチャ単位でエッジにラインをつけることができそうです。
ブレンダーBlenderにLightwave9のLWOオブジェクトを読み込むインポート、やってみた
Unityの学習中で、ボーンが設定されたオブジェクトを読み込み、アニメーションの設定を学習中です。
用意された素材を使用したので、どのようにして3Dモデルにボーンを設定するのか、ボーンの名称やボンの数、親子関係はどうなのかを知りたくなりました。
そこで、
ブレンダーでUnity用のモデルデータの作成はどうするのかと思って、ユーチューブを閲覧中です。
そこで、かつてLightwaveで作成した人体モデルをブレンダーにインポートすれば良いと思いつきました。
ブレンダーには、各3Dソフトで作成したモデルデータをインポートする機能が付いています。
LWの場合は、設定でチェックを入れる必要があります。
早速、昔使っていた東芝のノートPCを引っ張り出しました。結構でかいです。ノートの利点は、いつでもどこでもすぐに使えることです。マウスがないとちょっと不便ですが、このノートは小さなタッチパッドがついているので、なんとかマウスがなくても操作できます。
LWファイルの日付をみると2005年に作成したモデルデータです。サブパッチありの人体モデルです。
とりあえず、なにもせずにそのままブレンダーに読み込んでみました。ブレンダーはMacOSのバージョン2.66です。起動はほぼ瞬間です。3秒くらいで立ち上がります。
LWモデラーでみるのと、たぶん同じ構成で表示されました。すごいとびっくり感心。LW画面との比較を載せたいところですが、LWはドングルが必要で、このドングルを探さなければならないので、LWは起動してません。
(画像)
ポリゴンの破綻もありません。しかもサーフェースの色、スカートの青、クツの赤、シャツのピンクがそのまま残っています。すごいよブレンダー!!
フリーの3Dソフトでありながら、ここまでできるなんて。
たいてい、他の3Dソフトのファイルを読み込むとエラーが頻発して、つかえないことがほとんどなんですが。
実際に使用したモデルデータの容量は、小さいものは、200kB、大きいものは約2,4MBになります。
特に問題なく読み込めました。
LWモデラーのレイヤーも読み込めました。
おそらく、パスとかベジェラインとかは読み込めていないかもしれません。
ブレンダーは高機能ですが、操作がけっこう難しいというか、Lightwaveでのキー操作に慣れているので、すぐに思い出せません。
しかも、操作パネルやメニュー、プルダウンメニューがあっちこっちに配置されているので、どこをどう使えば良いのかさっぱりです。
そこで、数ヶ月後にまた、使うときのためにメモを残しておきます。
右クリックで選択し、マウスを移動すれば、オブジェクト等が移動します。
右クリックで選択というのを覚えましょう。右で選んで左で解除です。設定でキーは変えられるようですが、マニュアル本やユーチューブとかのチュートリアルをみてわからなくなるので、設定は変えずに、右クリックと覚えます。
左クリックで解除
aで全選択、選択状態で再度 a で解除
bで領域選択、投げ縄ではありません。
投げ縄選択Ctrlキー+左ドラッグ
ビューは数字キー1とかを押します
r 回転
s 拡大縮小
e 押し出し、頻繁に使います。
f 面張り、エッジ張りできます
ctr+r 分割、スクロールで分割数を設定
ctr+j 一つのオブジェクトにします。ポイントの結合ではありません。
ctr+z ,y やり直し
Shit+Alt を押しながら、エッジを選択すると、これで、輪郭、周囲を選択してくれます。とれもべんりです。
ポリゴンを分離したいときに、使うコマンドキーY
例えば、ポリゴンを選択して、Yを押すと、選択したポリゴンが元のオブジェクトから分離します。
IF I select a polygon, push key Y, separate that polygon from original object, its position.
This command key is comfortable. I think.
便利なコマンドです。
厚みをつける
Ctr+F でプルダウンメニューが表示、そこから厚み?を選択
//追記 ブレンダー2.72bでの機能が含まれています
Shift+A でメニューをプルダウン表示(メニューを選択しなくても良いので時間の節約)
Shift+C 3Dカーソルを原点
ctrl+FでFaceメニューを表示し、 EditModeのとき、Intersect(交差)が使えます。ブーリアンみたいなものです。面が重なっているところをいわゆる分割です。
ctrl+Uでレイアウトを保存
ctrl+Lで連続したポリゴン全体を選択します。
Alt+Cでカーブをメッシュに、メッシュをカーブにします。パスやベジェを使ってポリゴンにするときに使います。
・離れたポリゴンを接合
2つのポリゴンの接合した端の部分のエッジを選択して、WキーでBride Edge Loopsを選択
・2面を結合して1面にする
2面を選択してXキーでDessolbe Face
G 移動
W subdev ポリゴン数を増減
V ポイント、ラインの結合解除、面はエラーになる(顔の口を作ったり穴のようにしたいときに便利)
Y 分離(Vと似ているが、こちらは、切り離された状態になる)
//更に追記
ピリオド オブジェクトの中心点を3Dカーソルへ移動
カンマ オブジェクトの中心点を解除?(違ってるかも)
ミラーコピー移動(軸対称コピー) Sift+D(コピー複製)、X(X軸対称)、S(スケール)、−1(ハイフンと1で、逆向きに)
親子関係 Ctr+p(複数選択可)子、親の順で選択します。
親子関係解除 Alt+p(単独選択での作業が望ましい)、複数選択もありですが、解除した子供だけ選択することで解除できます。間違った使い方は子とその親まで選択してしまって、その親の更に上の親子関係まで解除してしまうことです。
Ctr+pが親と子を選択するので、解除についても親と子を選択しなくてはならないと先読みしてしまって、つい選択してしまいます。
ポーズモード
Shift+Ctr+c、IK設定、IK設定するボーンを選択
<ブレンダープラグイン>
木のモデリングはUser Preferenceでsapで検索するとAdd Curveが表示されます。これが、ツリー木のプラグインです。名称にTreeが含まれていませんので探しにくいです。
F2 ポイント、ラインから面を手間が少なくてはることができます。標準でも搭載されていますが、Userpreferenceで追加する必要があります。
使い方は、通常面は4点を選択する必要がありますが、このF2をONにすると3点で面になり、使い方は最後の4点目の対角線のポイントの1点を選択してFキーで面になります。
また、例えば、格子状になったポリゴンにおいて、格子に囲まれた内部の面に、穴が開いた状態であり、複数の面を貼りたいときに、1ラインを選択してFキーですぐに面が生成できます。(通常は2ラインを選択する必要があるので、1ライン手間が減ります。)
Align selection to Gpencile stroke(フリーの外部プラグイン)
Grease Pencilで描いたラインに沿ってポイントが整列します。使い方はGrease Pencilで描いて、ポイントを選択して、シフトキーと左ダブルクリックです。
グチャグチャになったポイントを一括して綺麗にしたいときに便利です。
紹介ページ
http://www.blenderartists.org/forum/showthread.php?332160-Addon-Align-Selection-to-Grease-Pencil
ShiftーCでカーソルを原点に、ピリオド・るのキー
Shift-d、S、X、−1
で鏡面コピーです。
文章だけでは意味不明ですが、オブジェクトを作っていると中心点が離れてしまうことがあります。そのときに、中心点をポリゴン側の方に移動させたいときに使います。
Objectメニュー(下の方の)、Transform,origin to Geometry
浮き輪みたいなアイコン名がわかりません。この浮き輪の方にオブジェクトを移動させたいときに使います。
ポリゴン側を選択して、Shift+Sでプルダウンメニューが表示されて,select to cu,,,
説明画面では、Shift+a と間違って表示されているかもしれません。
Shit+ s が正しいです。あとで、差し替えます。差し替えました。
Lightwaveでも同様の機能がありますが、ブレンダーの方がちょっとだけ使いやすいかも。
Alt+c
ctr + r 分割 スクロール
shift + a amatur
オブジェクト、ボーンの順で
選択して
ctr + p IK設定
エッジを選択
左側UV Mapping
Mark Seam
u Unwrap
下側Export unwrap
テクスチャを描く
テクスチャの読み込み
(注意点、レンダリングルまで、UVにテクスチャが設定されているか画面上ではわからないときがあります。描画モードによって、テクスチャが表示されていない設定になっている場合があります。そのときは、レンダリングを実行しましょう。描画モードを変更することによって、レンダリングしなくとも画面上で確認できる場合があります。)
LW9では、中心軸のポイントはマージされていないので、結合が必要でしたが、ブレンダーは設定すれば、マージされています。
オブジェクトモディファイアーツールを選択
原点からオブジェクトが離れても、鏡面できます。
・エッジの複数選択、便利な選択方法
とりあえず、これだけわかれば、モデリングはできそうです。
3DCG Blenderブレンダー2.7.2、平面ライトの作り方
—
ショルダーバッグ・ウエストバッグ・セカンドバッグ 3wayミニショルダーバッグ アメリカ製|吉田カバン ビジネスバッグ ポーター ラゲッジレーベル ニューライナー|Otias オティアス
【ハローキティ】×ワンピースのチョッパー ダイカットリール付きパスケース|くまのがっこう のびのびパスケース ジャッキー |【ニックナック】POPPINSカードケース
G&P AEG039C TROY M7A1(C) 完成品電動ガン エアガン|リボルバー COLT PYTHON コルトパイソン.357マグナム 4インチ|マルゼン M870 ショット
IODATA LEDバックライト フルHD 21.5型ワイド|アイ・オー・データ機器 LEDバックライト採用 超解像技術搭載 23型ワイド液晶ディスプレイ|水平多関節液晶モニターアーム
3DCG講座、ブレンダーBlenderでマグカップを作ろう。試行錯誤ですすめますので。
3DCG講座、チュートリアル 現在進行中、まだ計画中です。
>その後、アイフォンアプリとアンドロイドアプリが忙しくて、作ってません。2013.09.20
私はLightwave3DVer9.0ユーザです。人体キャラクターを趣味で数多く作成してきました。しかし、ライトウェーブがバージョン11になってもお金がないことと3DCGを作ることに興味が無くなってしまってバージョンアップするつもりがありません。
でも、アイフォンアプリやアンドロイド携帯アプリをつくろうとすると3DCGポリゴンデータが必要になってきます。
そこで、無料でダウンロードできるブレンダーBlrenderを少し覚えてみようと思います。
まずは簡単な操作と身近な物体を3DCGポリゴンにしてみます。
3DCGについての知識はありますが、ブレンダーBlrenderの操作については初心者状態です。
昔AMIGAにIMAGINEというソフトがありました。そのときの解説の本に書いてあった内容をブレンダーBlrenderで再現してみます。
2.本体を作りましょう。回転です。SpinとかSweepとかスクリューとかです。
3.取っ手を作りましょう。
4.合体させましょう。
5.完成させましょう。
この手順ですすめてみます。
また次回です。
関連サイト
メモ・備忘録: Blender 2.5 – 回転体の作成方法
Blender2.6でメッシュの線をベジェ曲線に変換する方法は? Blender使い方まとめ
Blender覚書 ~基本操作~: 蜩の硯
【Blender】モデリング:「Screw」モディファイアで回転体の制作
Blender基本のチュートリアルPart1(基本操作からモデリングまで) | Design Tech Lab
フリーの3Dソフトblenderブレンダー 入門、使い方
キャラクターをつくろう! 3DCG日和。 vol.3 -Blenderでつくる、ポリゴンキャラクター