DATE: 2008/05/09(金)   CATEGORY: 落書&雑記
ペンタブで絵を描いてみた2
ペンタブでまた絵を描いてみました。
ちなみに絵は超初心者です。

前回のFN P90の塗り方があまりにヒドかったので、
塗り方が真似できて、
絵が比較的簡単な、
アニメを模写してみました。
模写っていうかただの真似ですけどね(´・ω・`)

絵関連ということで、
スケッチブック主人公の空です。
Sora1.jpg



おおぉ、似てる!ヽ( ;´Д`)ノ


って、第一話のワンシーンを横に置きながら描いたので、
似てて当たり前なんですけど、
同じように線を引くのはやはり難しいですね。
前のFN P90はトレースだったので、
あまり意識してませんでしたが…

顔や体は2,3回で描けたんですけが、
何故だか手がすごく難しくて2,30分もかかってしまいました。
そんな大した手じゃないんですけどね(汗

あと気づいたんですけど、
アニメってシワの書き込みが無いんですね。
あと影や光のつけ方が適当な気が…
うーん、あんまり描き込むと制作費がかさむのかな?

あーそれと、
筆の選び方を多少考えました。
前回は適当に水彩筆を選んだんですけど、
輪郭をフェルトペン、塗りをオイルパステルで
くっきりムラ無く描いてみました。

アニメの絵を真似して、絵が上達するのかよくわかりませんが、
結構面白かったので、またやりたいですね。
[ TB*0 | CO*0 ] page top
DATE: 2008/05/08(木)   CATEGORY: 落書&雑記
ペンタブで絵を描いてみた
前回のペンタブでFPSは大失敗だったので、
大人しく絵を描いてみます。

ちなみに絵はまったくの初心者で、
鉛筆ですら描いたこと無いです。


と、絵を描く前にペンタブの練習です。
マウスに慣れてるとやっぱり違和感あるんですよね。

↓練習はこれです。
Practis1.jpg

BambooのCDについていたやり方です。
2センチずつにマスを引いて、
交わるところに順番に●を打っていきます。
最後までいったら、
次は順番に×を打っていきます。
また最後までいったら、
最後に順番に○で囲んで終わりです。

ん〜、効果があるかよく分からないんですけど、
たぶん毎回やってれば慣れるでしょう。
っていうかマス引いてる時点でだいぶ慣れましたがw


あとは適当に円を描く練習です。
まるっきりやる気のない円に見えますが…
practis2.jpg




こんなどうでもいいもん載せんじゃねぇえヽ(`Д´)ノ


とか言われそうですね。
実際もっと丁寧に書きたかったんですが、
結構難しいんですよ。
それなりに真円になるようにがんばったんですけどねぇ。



最後にこちら、サブマシンガンのFN P90です。 
ネットで適当に検索してきた画像のトレースですので悪しからず。
tm_P90TR[1]


なにこれ、ひでぇえ!!

おっしゃるとおりです。 orz
トレースなんで輪郭はそれなりになってるんですけど、
色の塗り方がヒドイですね。


な、なんか小学生が描いたみたいだ(ノД`)


たぶん、水彩筆(?)で塗ったのせいかと、
いや画力ゼロなだけかw


次はもう少しマシな絵を持ってきます。

[ TB*0 | CO*0 ] page top
DATE: 2008/05/06(火)   CATEGORY: 落書&雑記
ペンタブでFPS
WACOM Bamboo MTE-450/K0WACOM Bamboo MTE-450/K0
(2007/05/18)
不明

商品詳細を見る

がちょっと前に届いたので使ってみました。

噂通りに丁寧な包装(箱)で、PCにつなげる前からwktkしましたw
7000円代にも関わらず、持ち運び用のケースも付いているのには驚きです。
私の場合は、まず持ち運ぶことはないですがヽ(;´Д`)ノ
カメラが無いので画像を上げれないのが残念です。

ところで初めてペンタブレット触ったんですが、
ディスプレイトとタブレットの入力領域が
絶対座標でダイレクトにポイントされるとは知りませんでした。
ペンタブっていうのは、
"ただの筆圧感知があるペン型のマウス"と思ってたんですよ(ぉぃ

一応知らない人のために解説を、 
マウスは動かした量だけカーソルが移動しますが、
ペンタブの場合は、
タッチした入力領域の座標とディスプレイの座標が対応していて
タッチした位置にカーソルが直接移動します。
設定によっては、マウスの用に相対座標で動かすことも出来ますが、
絵は絶対座標で描くものなんだとか…
私は絵描きでないのでよくわかりませんけど(´-`;)
少なくとも相対座標を使うと、ペンタブ使う意味が薄れる気がします。




で、こんな私のようなアホなお客のために、
WacomはインストールCDに
チュートリアルソフトも入れておいてくれたみたいです。

おまけソフトなんで大した物じゃないんですけど、
まったくの初心者にはありがたいです。

カーソルの動かし方や、クリックの仕方から、
ペンタブの動きによるショートカットの出し方まで、
基本的な使い方を教えてくれます。
Vistaについてるペンタブ向けソフトの解説もあるので

「Vsitaにそんな機能ついてたのか…( ゚Д゚)」

ってなります。







チュートリアルソフトを終わらせたところで、
さっそくFPSをしてみました。
「絵描けよ」っていうツッコミは無しで。

ゲームはCoD4です。
マルチにいきなり突っ込もうとしたんですが、とりあえずKOOLになって
シングルの最初のステージ「F.N.G」のCQBで腕試しをしたんですが…


「絶対座標使えねぇ!!!!!!!!」



OTL



どうやらFPSでペンタブ絶対座標を使うと、

ペンがど真ん中にある時のみ視点が固定される

ようで、ちょっとでも動かすと右向いたりするんですよ。

ようするにど真ん中以外は
マウスが移動していることになります。

もちろん、真ん中から離れるほど早く振り向くんですが、
そもそも視点を留めるのがかなりシビアで、
ほんとにど真ん中じゃないといけないのでグルグル目を回します。


酔います。



ペンタブは相対座標じゃ意味無いとか言っておきながらなんなんですが、
とりあえずマウスと同じ相対座標にしてFPSをやってみることに。


(´-`).。oO(これならイケルはず)


一応できます。
が、非常に微妙…






そもそもペンタブでカーソル(視点)を動かすには、
入力領域より数センチ浮かせた状態でペンを移動させる必要があるんですよ。
でもって、クリック(銃の発砲)っていうのは入力領域をタッチすることなんですよ。

つまり、ちょっとでも入力面に触れると銃撃っちゃうんです。
こんな新人じゃぁ、プライス大尉も嫌がりますね、
まさにFackingNewGuy(´・ω・`)







そこで思いつくのが、
キーコンフィグで射撃ボタンをペンについてるボタンに移すこと。
これで人差し指で押せるボタンに射撃ボタンを持ってこれます。
ここでまくると分かると思うんですけど、


マウスと変わんないじゃん(´Д`)


移動は相対座標だし、ボタン押して射撃とか、マウスと同じなんですよね。
っていうかマウスのボタン数のほうが多し、
ペンを微妙に浮かせた状態でも視点移動してしまうのが
致命的だと思います。

どういうことかと言うと、
入力領域の端にペンが来て、
ペンを真ん中に持ってこうようとするとき、
ちょっと焦ってると視点があらぬ方向に向いてしまいます。

マウスで言うところの、
マウスが机の端まで来てしまって急いで置きなおす。
っていう動作を慎重にする必要があります。 ('A`)マンドクセ




断然マウスのほうが有利です(たぶん)
でももしかすると、
生まれてからずっとペンタブでFPSやってたら
マウスより強くなるかもしれませんけどwww
[ TB*0 | CO*0 ] page top
DATE: 2008/05/03(土)   CATEGORY: プログラミング
射撃実装!
クラスを使ってようやく弾が撃てるようになりました!(゚∀゚)ノ
game3.png

おぉ…














game2.png

ちなみに段々加速する弾なので、前に進みながら撃つとこうなります。
あと連打するのがイヤなのでショットキーおしっぱで連射になってます。

まぁ、この程度だとクラス使う恩恵がないんですけどね…

次は敵の当たり判定を作ります。
[ TB*0 | CO*0 ] page top
DATE: 2008/05/03(土)   CATEGORY: プログラミング
メンバオブジェクトに泣く(;´Д⊂)
うーん、プログラムは慣れないと難しいですね。
今日もシューティングゲームの弾の発射に苦労してます。

弾の実装の仕方は色々あると思いますが、
C++でやってるからクラスで実現したいんですよね。

そこで、自機のクラスと弾のクラスを作って
「自機クラスの生成と同時に、自機クラスに弾クラスを持たせる」
ことにしたんですよ。
つまり、オブジェクト内に存在するオブジェクトのことでメンバオブジェクトと言うものです。
(最もこれは後から知ったのですが)

で、私のような初心者はこういうミスをするんですよ↓

class Bullet {
public:
 int X; //弾の座標
 int Y;

 Bullet(int x, int y);
}

class Player {
public:
 int X; //自機の座標
 int Y;

 Bullet bullet( X, Y);
}

要するに、弾を発射するときは自機の座標から発射するので、
自機の座標を弾クラスのコンストラクタを使って渡そうとしたんです。

しかしこれ、コンパイルエラーになります。 orz
これを解決するのに小1時間もかかりましたよ。

問題なのは赤字の行です。
クラス内でクラスを宣言する場合、
引数をとってはいけないようです。
Bullet bullet;
のようにデフォルトコンストラクタを呼ぶような宣言しかダメなんだとか。
でもこれじゃ自機の座標が渡せないと思うんですが、
自機のデフォルトコンストラクタを自分で↓のように作ればいいみたいです。

class Bullet {
public:
 int X; //弾の座標
 int Y;

 Bullet(int x, int y);
}

class Player {
public:
  int X; //自機の座標
  int Y;

  Bullet bullet;
  Player(); //デフォルトコンストラクタ
}

Player::Player:
  Bullet( X, Y)
{

}

なるほど、自機側のデフォルトコンストラクタで
弾クラスの初期化をするんすね。

ちなみに、この場合は弾は一発になっちゃうので、
class Bullet {
public:
 int X; //弾の座標
 int Y;
 
 Bullet();
 Bullet(int x, int y);
}


class Player {
public:
 int X; //自機の座標
 int Y;

 Bullet bullet[16];
 Player(); //デフォルトコンストラクタ
}

Player::Player:
{
 for( int i = 0; i < 16; ++i ){
  Bullet.X = X;
  Bullet.Y = Y;

  }
}  

みたいにすれば16連射ができそうです。
Bullet bullet[16]; はデフォルトコンストラクタで作られるようなので、
Bulletクラスにもデフォルトコンストラクタを置いてやるといいと思います。

あくまで初心者が記事を書いてることを忘れないでください。
細かいところが違う可能性があります。
たぶんもっとスマートな実装がありますよね…

どうでもいいんですけどFC2では半角スペースは認識しないんですね。
コード打つときわざわざ全角にするのが面倒だったw

今日も結局弾の実装ができませんでした(ノД`)
明日は昨日頼んでおいた
WACOM Bamboo MTE-450/K0WACOM Bamboo MTE-450/K0
(2007/05/18)
不明

商品詳細を見る

が来るので、楽しみにしながらもう寝ます。
[ TB*0 | CO*0 ] page top
Copyright © Newbie on canvas. all rights reserved. ページの先頭へ