2014年12月31日水曜日
unity クラス はじめての
最初にスクリプトをみたときに?になるのは、
文法がわからんちゅうことかな。
まぁ、プログラムをやったことがなくても、ざっくり想像はできると思う。
■考えずに覚えること
値はリテラル
値には種類があるということ、このことを型とタイプという。
数字関係のタイプは、「整数」と「実数」
整数には8種類の型があります。
数字のままだと 型は int
最後にLをつけると 型は long
最後にSをつけると 型は short
※なぜ?色々あるか?
ただし、整数は int型を使え。 と 本に書いてありました。
実数:小数点をつけたら実数になる。
12345.0 これは実数で double 型
145.5F これは実数で float 型
クラスは設計図 → 実際操作できるインスタンスというのを作る。
クラスは 情報保管する変数のフィールド と 処理を定義したメソッドの2つからできている。
■クラス 基本的な書き方はこれ。
===============
class クラス名 {
○・・・変数の宣言
●・・・メソッドの宣言
}
===============
○変数の書き方 = フィールド
===============
●メソッドの書き方
===============
返値 メソッド名 ( 引数 ) {
・・・実行する処理を書く
}
===============
計算結果などの返ってくる値の型。何も返さないなら void
型が記述してあるとそれは メソッドということ。
メソッド名は 半角英数とアンダースコアの組み合わせ 最初は大文字。
引数とは、メソッドを実行するための値。また、複数になる場合は カンマで区切ります。
■意味をしらないと読めない記号について
A%B AをBで割ったあまりを得る。
意味はわかるけどどんなときに使うか? よくわかりませんよね。
unity 最初はポンゲーム
色々手を出してみたが、コツコツと最初はポンゲームかな。
http://www.slideshare.net/kadoppe/unitypong
と思い。
http://www.slideshare.net/kadoppe/unitypong
using UnityEngine;
using System.Collections;
public class ball : MonoBehaviour {
// Use this for initialization
void Start () {
rigidbody.AddForce(Vector3.up * 10 , ForceMode.VelocityChange);
}
// Update is called once per frame
void Update () {
}
}
物理をつけてみた。
void Start () { と void Update () { の間に
rigidbody.AddForce(Vector3.up * 10 , ForceMode.VelocityChange);
をいれて試してみるとお互いの違いがわかります。
構造:
rigidbody.AddForce();
()の中は、Vector3 force, か float x, float y, float z, のどちらかで記述できます。
http://docs-jp.unity3d.com/Documentation/ScriptReference/Vector3.html
調べてみたら、Vector3 forceの記述は言い方を簡単にしただけでした。
Static Variables
back | Vector3(0, 0, -1) と同義を短く記述 |
---|---|
down | Vector3(0, -1, 0) と同義を短く記述 |
forward | Vector3(0, 0, 1)と同じ意味 |
left | Vector3(-1, 0, 0) と同義を短く記述 |
one | Vector3(1, 1, 1)と同じ意味 |
right | Vector3(1, 0, 0)と同じ意味 |
up | Vector3(0, 1, 0)と同じ意味 |
zero | Vector3(0, 0, 0)と同じ意味 |
ん。違いますね。
前に Vector3とかかれてました。
ForceMode mode
ボールの跳ね返りの設定
スライドではマテリアルの設定と不親切でしたが、、。
Projectビューの"Create"を押し、"Physic Material"を選択します。
http://www40.atwiki.jp/spellbound/pages/1320.html
と書いてありました。
Bounciness(跳ね返ることのできる物質の特性)に1.0
でいけるみたいです。
using UnityEngine;
using System.Collections;
public class ball1 : MonoBehaviour {
// Use this for initialization
void Start () {
rigidbody.AddForce(Vector3.forward * 10 , ForceMode.VelocityChange);
}
// Update is called once per frame
void Update () {
rigidbody.velocity = rigidbody.velocity.normalized * 10;
}
private void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.tag == "Block")
{
Destroy(collision.gameObject);
}
}
}
2014年12月30日火曜日
Unity 2d の見えない壁
unity の2Dゲーム制作をやっていてわからなかった点。
背景の画像や、床の画像は適切に配置だけすれば
描画はされるが、そこの床があるか? は
設定しなければならない。
やり方として、2つ。
Box Collider 2D 緑の枠で囲まれているこの線を
コライダー
これとは別のやり方で
オブジェクトに rigidbody2DをつけてGravity Scale を0にしておく。
http://docs-jp.unity3d.com/Documentation/ScriptReference/Rigidbody2D.html
rigidbody2D
によって、重力と力を受けることになる。
http://vga-unity.github.io/gp11/2011/10/19/GP11-03.html
ここに説明されている。
http://docs-jp.unity3d.com/Documentation/Components/class-Rigidbody2D.html
こっちが詳しいかな。
背景の画像や、床の画像は適切に配置だけすれば
描画はされるが、そこの床があるか? は
設定しなければならない。
やり方として、2つ。
Box Collider 2D 緑の枠で囲まれているこの線を
コライダー
これとは別のやり方で
オブジェクトに rigidbody2DをつけてGravity Scale を0にしておく。
http://docs-jp.unity3d.com/Documentation/ScriptReference/Rigidbody2D.html
rigidbody2D
によって、重力と力を受けることになる。
http://vga-unity.github.io/gp11/2011/10/19/GP11-03.html
ここに説明されている。
http://docs-jp.unity3d.com/Documentation/Components/class-Rigidbody2D.html
こっちが詳しいかな。
2014年12月29日月曜日
AE アニメーションカーブ
オブジェクトの動きについて 細かく調整する
アニメーションカーブについて考察してみます。
今ではもう読まれていないであろうこのサイト
http://www.adobe.com/jp/motion/pvs2/cgworld_p3_1.html
1、キーフレームアニメーション
2、エクスプレッション
3、グラフエディタ
このアニメーショカーブ、unityではあまり編集機能がよくないらしいです。
Intro to Animation Curves in After Effects from School of Motion on Vimeo.
unity テクスチャ について
複数のテクスチャをくっつけてひとつにまとめるテクスチャアトラス
1枚絵ってやつかな。
じゃないと、ドローコールが多くて2D描画では遅くなるみたいですが、
端末でデバックするのも先だし。今はまだいいかなぁ。
http://mikenekoworks.com/archives/category/development/unity
ゲーム企画
孫子ものと
ロボットもの
ホラーもの。
■参考サイトのレビューは大事かも。
■日本の開発会社
http://www.ganbarel.jp/service/unity.html
Tango Gameworks
http://tangogameworks.com/jp/index
アルティ
http://www.althi.co.jp/
http://www.ponos.co.jp/pc/
http://www.cc2.co.jp/
■ホラーで参考するべきゲーム
The Long Dark
http://www.4gamer.net/games/038/G003821/20141002075/
DEADLIGHT
http://www.famitsu.com/news/201208/03018976.html
Rime
https://www.youtube.com/watch?v=wOtiMtZxrrc
http://www.krillbite.com/
■シナリオ
バタフライエフェクトシステムUntil Dawn - 惨劇の山荘 -リアルな描写は無理があるので、The Long Dark のようなローポリ。
x
■開発中の日々の生活をどうやって維持するのか?
無料か? 有料か?
■プラットフォーム
コンシューマー、スマホ
■開発中の日々の生活をどうやって維持するのか?
無料か? 有料か?
■プラットフォーム
コンシューマー、スマホ
unity ゲームオブジェクト 位置について
位置をしったのは?例のごとくやったことがあるチュートリアルは
http://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/game/02.html
これなので、
Vector2 direction = new Vector2 (x, y).normalized;
この文章になる。
3次元だと下記になる。
Vector 変数 = new Vector3 (x,y,z);
using UnityEngine;
using System.Collections;
public class myscript01 : MonoBehaviour {
int counter = 0 ;
float plus = 0.1f;
void Start () {
}
void Update () {
Vector3 p = new Vector3(0, 0, plus);
transform.Translate(p);
counter++;
if (counter == 100){
counter = 0;
plus *= -1;
}
}
}
このスクリプトだと、オブジェクトにribody の設定いりませんでした。
transformプロパティ
http://docs-jp.unity3d.com/Documentation/ScriptReference/Transform.html
まちがってるかもですが、
Transformクラスの Functions ということはメソッド translate を
Vector3は移動する幅
■?のところ
vector3は単独で記述してもOKで、translateは単独でなく、クラスを記述しないといけないか?
まぁ クラスじゃないからかな?
2014年12月28日日曜日
Unity シューティングメモ 敵の動き
敵のスクリプトです。
using UnityEngine;
using System.Collections;
public class Enemy : MonoBehaviour
{
// 移動スピード
public float speed;
// 弾を撃つ間隔
public float shotDelay;
// 弾のPrefab
public GameObject bullet;
// 弾の作成
public Enemy GameObject;
public void Shot (Transform origin)
{
Instantiate (bullet, origin.position, origin.rotation);
}
// 機体の移動
public void Move (Vector2 direction)
{
rigidbody2D.velocity = direction * speed;
}
private Vector3 m_pos;
void Start ()
{
m_pos = transform.localPosition; // 形状位置を保持
}
void Update () {
transform.localPosition = m_pos; // 形状位置を更新
m_pos.x += 0.05f;
}
}
http://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/game/04.html
こちらを参考にしてすすめてますが、
組み方ははっきり言って無視w
共通部分を取り出し、別のコンポーネント”などはぜんぜん無視。
C#がベースになってますね。
public class Enemy : MonoBehaviour
まず、これは クラス名と型を宣言。
というか半分ぐらいいらないw
using UnityEngine;
using System.Collections;
public class Enemy : MonoBehaviour
{
// 移動スピード
public float speed;
// 機体の移動
public void Move (Vector2 direction)
{
rigidbody2D.velocity = direction * speed;
}
}
コンポーネントの使い方はこちら。
http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/Manual/Using%20Components.html
using UnityEngine;
using System.Collections;
public class Enemy : MonoBehaviour
{
// 移動スピード
public float speed;
// 機体の移動
public void Move (Vector2 direction)
{
rigidbody2D.velocity = direction * speed;
}
void Start ()
{
// ローカル座標のY軸のマイナス方向に移動する
Move (transform.up * -1);
}
}
まとめ。
rigidbody2D.velocity
とは、
void Start () を Updataに変更したら動かない。
ぐちゃぐちゃになってきた。
単純に座標を移動をすると壁にあたったときなどバグを起こすらしい。
using UnityEngine;
using System.Collections;
public class Enemy : MonoBehaviour
{
// 移動スピード
public float speed;
// 弾を撃つ間隔
public float shotDelay;
// 弾のPrefab
public GameObject bullet;
// 弾の作成
public Enemy GameObject;
public void Shot (Transform origin)
{
Instantiate (bullet, origin.position, origin.rotation);
}
// 機体の移動
public void Move (Vector2 direction)
{
rigidbody2D.velocity = direction * speed;
}
private Vector3 m_pos;
void Start ()
{
m_pos = transform.localPosition; // 形状位置を保持
}
void Update () {
transform.localPosition = m_pos; // 形状位置を更新
m_pos.x += 0.05f;
}
}
http://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/game/04.html
こちらを参考にしてすすめてますが、
組み方ははっきり言って無視w
共通部分を取り出し、別のコンポーネント”などはぜんぜん無視。
C#がベースになってますね。
public class Enemy : MonoBehaviour
まず、これは クラス名と型を宣言。
というか半分ぐらいいらないw
using UnityEngine;
using System.Collections;
public class Enemy : MonoBehaviour
{
// 移動スピード
public float speed;
// 機体の移動
public void Move (Vector2 direction)
{
rigidbody2D.velocity = direction * speed;
}
}
コンポーネントの使い方はこちら。
http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/Manual/Using%20Components.html
using UnityEngine;
using System.Collections;
public class Enemy : MonoBehaviour
{
// 移動スピード
public float speed;
// 機体の移動
public void Move (Vector2 direction)
{
rigidbody2D.velocity = direction * speed;
}
void Start ()
{
// ローカル座標のY軸のマイナス方向に移動する
Move (transform.up * -1);
}
}
まとめ。
rigidbody2D.velocity
とは、
void Start () を Updataに変更したら動かない。
ぐちゃぐちゃになってきた。
単純に座標を移動をすると壁にあたったときなどバグを起こすらしい。
void
FixedUpdate ()
の中でしか、駄目とのこと。なんでわかれてんだろ。
個人的アニメ ランキング
【Aクラス】
アウトレイジ アウトレイジ ビヨンド
闇金ウシジマくん
カラスの親指
アイアンスカイ
アイアンマンシリーズ
機動戦士ガンダムUC
シュタインゲート
http://www.animenova.tv/category/steins-gate
寄生獣 セイの格率
【映画 アニメ】
【試したけど続かない】
Unity シューティングメモ 弾 スクリプト
プレイヤーに複数のスクリプトを持たせることが可能。??複雑にすると問題がでてきそうだが、今のところうまくいっている。ちなみに、https://gist.github.com/tracend/893555やろうとしたことは、プレイヤーに弾を撃たせるスクリプト C#でなかったので、
var prefabBullet: Transform;var shootForce: float ="100";function Update () {if(Input.GetButtonDown("Shoot") ){var instancebullet =Instantiate( prefabBullet ,transform.position,Quaternion.identity);instancebullet.rigidbody.AddForce(transform.forward * shootForce);}}
■説明
Var ← 「今から新しい変数を定義するよ」という宣言public var としてもうまく動いたんだけど、つけなくもていいみたい。
http://docs.unity3d.com/ScriptReference/Rigidbody.AddForce.htmlhttp://is4cafe.hatenablog.com/entry/20140306/1394036396
.rigidbody.AddForce
これについてまとめてある。
ちなみに AddForce は物体に力を加える。とのことらしいです。
shootForceを宣言しているからそれが使われているみたいだが、
反応がない。
理由は
弾のほうに 違うスクリプトをつけていたからみたです。
using UnityEngine;
public class Bullet : MonoBehaviour
{
public int speed = 10;
void Start ()
{
rigidbody2D.velocity = transform.up.normalized * speed;
}
}
ちなみに弾の方はC#とややこしや。
色々とわかりました。
まずね。
#pragma strict
var bullet: GameObject;
var player: Transform;
var shootForce: float = 100;
var obj: GameObject;
function Update () {
if(Input.GetButtonDown("Fire1") )
{
obj = bullet.Instantiate( bullet );
obj.transform.position = player.position;
obj.rigidbody2D.velocity = transform.up.normalized * shootForce;
}
}
最終的にこれになったんだけど。
考え方としては、弾のインスタンスを生成する。
そいつを機体の位置とおなじにする。
その弾に力を加える。
という流れ。
https://gist.github.com/tracend/893555
こいつとの違いは、
↑ファンクションの中で変数を宣言している。
var instancebullet =Instantiate( prefabBullet ,transform.position,Quaternion.identity);
こんな感じで。
インスタンスした弾に対して命令しないと意味がないからかな。
#pragma strict
var bullet: GameObject;
var player: Transform;
var shootForce: float = 100;
function Update () {
if(Input.GetButtonDown("Fire1") )
{
bullet.transform.position = player.position;
bullet.rigidbody2D.velocity = transform.up.normalized * shootForce;
}
}
こんな感じにするとエラーはでないけど。
弾はでないw
つまり、インスタンスを生成は重要だということだ。
http://qiita.com/2dgames_jp/items/8a28fd9cf625681faf87であとは、そいつをいじりたおしていく。
感じです。
間違っていたのは、
rigibody.Addforce をやっていたので。うまく弾とエラーがでてた。
そりゃそーだ。3Dだしw
あとはプログラムの記述の仕方として、
if 文と それから下のアクションは
別にしたほうがいいのかな?
弾のその後とか、制限とかもかんがえられますね。
パワーがなくなってでなくなるとか。
そういうのはまた、今度かな。
2014年12月20日土曜日
2014年12月12日金曜日
after effects テキスト 1文字 ばらす。
ありました。
http://ae-users.com/jp/tips/2009/07/strings_par_frame/
すばらしいスクリプトを発見しました。
https://github.com/yone80/aftereffects-scripts/blob/master/decomposeText.jsx
神ですね。
http://ae-users.com/jp/tips/2009/07/strings_par_frame/
すばらしいスクリプトを発見しました。
https://github.com/yone80/aftereffects-scripts/blob/master/decomposeText.jsx
神ですね。
2014年5月11日日曜日
blender Rig
blender のRigify add-onを設定する際にいろいろエラーがでるのでメモしておく。
ボーンを組み合わせると、Armature になる。
ArmatureをGenerate とするとGigになる。
キャラクターはいちいちつくると面倒なので、
このサイトから適当にキャラクターをダウンロードすべし。
http://www.blendswap.com/blends/view/57706
すでにRigがうめこんであるのもあるし、入ってないものある。
まずは、入ってないものを。
http://www.blendswap.com/blends/view/17561
これが一番いいかな。 17561_body_basemesh_blend.zip
これに Rigify をつけていく。
詳しい流れは、
http://cgi.tutsplus.com/tutorials/create-an-animation-walk-cycle-in-blender-using-rigify--cg-17812
ここを参考にしてほしいけど。
いくつか面倒なミスがあるとうまくいかないので。
ただ単に Armature を入れると図のようになります。
おっとその前に、キャラクターの点を下の設置します。
なので、まずカーソルをshift + C でカーソルを中心にあわせてから
Armature を作るようにしましょう。
するとこんな感じになる。
ここからポイント。このままobject modeで大きくすると
Generateする際にエラーになります。
リグが小さいままになるんですw
なので、Armature を大きくする際にはTABでedit Modeにして大きくしないとだめです。
やりかた:
TABでedit Modeにする。
shift + C でカーソルを空間全体の中心にする。
Pivot Point で3Dカーソルにあわせる。
なぜこれをやるかというと、拡大するときに足のほうが中心で大きくなるので
キャラクターとづれないんです。
やりがちなミスとして、edit mode以外で編集するとおかしくなります。
ボーンを組み合わせると、Armature になる。
ArmatureをGenerate とするとGigになる。
キャラクターはいちいちつくると面倒なので、
このサイトから適当にキャラクターをダウンロードすべし。
http://www.blendswap.com/blends/view/57706
すでにRigがうめこんであるのもあるし、入ってないものある。
まずは、入ってないものを。
http://www.blendswap.com/blends/view/17561
これが一番いいかな。 17561_body_basemesh_blend.zip
これに Rigify をつけていく。
詳しい流れは、
http://cgi.tutsplus.com/tutorials/create-an-animation-walk-cycle-in-blender-using-rigify--cg-17812
ここを参考にしてほしいけど。
いくつか面倒なミスがあるとうまくいかないので。
ただ単に Armature を入れると図のようになります。
おっとその前に、キャラクターの点を下の設置します。
なので、まずカーソルをshift + C でカーソルを中心にあわせてから
Armature を作るようにしましょう。
するとこんな感じになる。
ここからポイント。このままobject modeで大きくすると
Generateする際にエラーになります。
リグが小さいままになるんですw
なので、Armature を大きくする際にはTABでedit Modeにして大きくしないとだめです。
やりかた:
TABでedit Modeにする。
shift + C でカーソルを空間全体の中心にする。
Pivot Point で3Dカーソルにあわせる。
なぜこれをやるかというと、拡大するときに足のほうが中心で大きくなるので
キャラクターとづれないんです。
やりがちなミスとして、edit mode以外で編集するとおかしくなります。
2014年3月11日火曜日
2014年3月8日土曜日
after effects チュートリアル メモ
3月8日 - http://ae-style.net/tutorials/e19.html
ループしながら広がる表現
●文字の研究
http://ae-style.net/tutorials/e15.html
http://ae-style.net/tutorials/e15.html
まぁ 映画でよくあるかんじかな。
個別の動きで考える。
●:テキスト
アニメーター1
http://www.digitalartsonline.co.uk/tutorials/creative-lifestyle/animated-type-effects/
意外といろんなことができる。
テキストに アニメーター を追加することでいろいろなことができます。
http://www.youtube.com/watch?v=eR4FVBNz634
これに、アニメータの詳細が説明されてます。
囲んだとこを元からアニメに変える。か 戻すか?
===========
アニメーター1
http://www.digitalartsonline.co.uk/tutorials/creative-lifestyle/animated-type-effects/
意外といろんなことができる。
テキストに アニメーター を追加することでいろいろなことができます。
例:文字単位の 3D 化オプションを使用して文字をアニメートする
この例では、個々の文字を 3D でアニメートして、それぞれの文字が列から飛び出てお辞儀をするように見せる方法について説明します。
- 新規コンポジションを作成します。
- 新規テキストレイヤーを作成し、単語「ovation」を入力します。
- アニメーション/テキストのアニメータープロパティを追加/文字単位の 3D 化を使用を選択します。
- アニメーション/テキストのアニメータープロパティを追加/位置を選択します。
- アニメーション/テキストのアニメータープロパティを追加/回転を選択します。
- タイムラインパネルのアニメーターグループで、「X 回転」プロパティを 45 に、「位置」の値を (0.0, 0.0, -100.0) に設定します。
- 「範囲セレクター 1」を開きます。
- 「オフセット」プロパティのストップウォッチアイコンをクリックして、最初のキーフレームの値を 0 秒に設定します。
- 「オフセット」プロパティ値を -15%に設定します。
- 「終了」プロパティ値を 15%に設定します。
- 現在の時間インジケーターを 10 秒の位置に移動し、オフセット値を 100%に設定します。
- R キーを押して、レイヤー全体の「回転」プロパティを表示します。
- レイヤーの「Y 回転」の値を -45 に設定してレイヤー全体を回転し、文字の 3D モーションがよくわかるようにします。
- コンポジションをプレビューします。
やってみたが 構造がわからない。
====================3
これに、アニメータの詳細が説明されてます。
囲んだとこを元からアニメに変える。か 戻すか?
===========
http://ae-users.com/jp/wp-content/uploads/2012/05/textdomino03.jpg
http://ae-users.com/jp/tips/2012/05/textdomino1/
こいつも同じアニメーターを使った応用だが・・。構造が理解できんw。すぐには。
こいつも同じアニメーターを使った応用だが・・。構造が理解できんw。すぐには。
2014年3月3日月曜日
2014年3月2日日曜日
2014年2月25日火曜日
慣性 はずみ after effects
アニメーションの慣性表現を探すとなかなか
日本語でないw
こちらの動画を参考につくってみたが、、、。
ぷよんって感じがちょっと違う。
amp = .1;
freq = 2.0;
decay = 2.0;
n = 0;
if (numKeys > 0){
n = nearestKey(time).index;
if (key(n).time > time){
n--;
}}
if (n == 0){ t = 0;
}else{
t = time - key(n).time;
}
if (n > 0){
v = velocityAtTime(key(n).time - thisComp.frameDuration/10);
value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
}else{value}
記載するエクスプレッションはこちらです。
指定した高さを超えて移動する値が大きくなる。 amp
次に、freq は、戻り回数かな、上から落ちてきな「NEW」が一度ぐいっと
下にさがって、上にかえり、また下に行く その回数。
decay はゆれる時間。小さいほうが長くゆれる。
修正したものがこれで、個別に 3つの数字をいじってます。
あとはおこのみで。
2014年2月23日日曜日
after effects 地球の作り方
作り方:
・テクスチャの地球準備
・AE上での地球の作り方
まず、地球地図の手に入れ方
パブリックドメインのものを手に入れる。
パブリックドメインとは?
http://ja.wikipedia.org/wiki/%E3%83%91%E3%83%96%E3%83%AA%E3%83%83%E3%82%AF%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3
SVG
http://commons.wikimedia.org/wiki/File:BlankMap-World6.svg
このデータをつかって:
イラストレーターの処理はまかせる。
ドット化ですが、
http://liginc.co.jp/designer/archives/3336
「オブジェクト」→「モザイクオブジェクトを作成」
幅を正方形にするか? どうかですが、正方形のほうがかっこよくみえる。
あとは数ですね。
■after effects では cc sphere をつかってまるくする。
エクスプレッション 省略の仕方
a=transform.position[0]+time;
b=transform.position[1]+time;
[a,b]
a=thisComp.layer("シェイプレイヤー 2").transform.position[0]+time;
b=thisComp.layer("シェイプレイヤー 2").transform.position[1]+time;
[a,b]
■省略してもいいにの図
thisComp.layer("平面1").transform.position.valueAtTime(time)
thisComp.layer("平面1").transform.position
thisLayer.transform.position
transform.position
position
b=transform.position[1]+time;
[a,b]
a=thisComp.layer("シェイプレイヤー 2").transform.position[0]+time;
b=thisComp.layer("シェイプレイヤー 2").transform.position[1]+time;
[a,b]
■省略してもいいにの図
thisComp.layer("平面1").transform.position.valueAtTime(time)
thisComp.layer("平面1").transform.position
thisLayer.transform.position
transform.position
position
エクスプレッションの意味
エクスプレッションの基本はレイヤーのプロパティをコントロールすること
グローバルオブジェクトって意味わかんなかったけど
全部品の階層構造をあらわした 一番上の階層を指すことばなのかもと
勝手に解釈。
こちら
エクスプレッションのポップポップアップメニューを開いた画面
一番上が
http://helpx.adobe.com/jp/after-effects/using/expression-language-reference.html#WS3878526689cb91655866c1103906c6dea-7a0aa
詳しい説明はこちら、
まぁここでは
thisComp だけに集中しましょ。
回転などは 数字がひとつなので指定が簡単ですが、
位置などは、XYと2つあるので
どう指定するかわからない。。
実験してみました。
こんな風においてあるシェイプ2つ
青ほうが「シェイプレイヤー 2」で
緑が「シェイプレイヤー 1」で
thisComp.layer("シェイプレイヤー 2").transform.position*1
同じ位置になりました。
せっかくなので回転も rotation もやってみる。
thisComp.layer("シェイプレイヤー 2").transform.position*-0.25
緑がみえないところに移動しちゃいました。
X と Y を個別に操作できないものかと。
a=transform.position[0];
b=transform.position[1];
[a,b]
でもこの記述だと、このレイヤーのエクスプレッションのプロパティ取得になるので
レイヤーを指定しないといけない。
thisComp.layer("シェイプレイヤー 2").transform.position[0]*1
■遅れて動かすとき
thisComp.layer("シェイプレイヤー 2").transform.position.valueAtTime(time - 1);
パスを使った ストロークアニメ
数の色を変える エフェクトです。
このやり方が基礎になりますが、
<iframe width="560" height="315" src="//www.youtube.com/embed/nfU_M00oRoI" frameborder="0" allowfullscreen></iframe>
パスを使うことでこんなこともできます。
わからないのはパスを動かすときに トランスフォームがでてこないことですね。
2014年2月22日土曜日
after effects エクスプレッション 時間表示
■概要
数字なので単純には 0 1 2 3 4 5 6 の静止画を
フレームにあわせて変えていくという面倒なやり方。
は しない。
まぁあとはスクリプトでできそうだよねと思う。
がどうやってやるかわからない。。。
調べると、
http://www.da-tools.com/AE/exp/jiturei/textSample.html
timeToTimecode( ) メソッド
こいつを使えばなんとかできるみたいだとわかる。
でも、「Global objectのtimeToTimecode( ) メソッドで現在のTimeを取得」
とあるが、Global objectがわからん。
形にはなったが、ガタガタしますね。
これがその動画です。
n=2;
t=time;
if(n <= time){ t = n; }
fullTime=timeToTimecode(t, 100, 0);
sec=fullTime.split(":")[2];
sec2=fullTime.split(":")[3];
sec+"."+ sec2
一番下のがこのスクリプトです。
上の3行が 2秒までカウントしたら止まるようにしている記述
これの原因は 。ドットが動く これは駄目ですね。
ということで結局バラで 一番上のようにつくってます。
数字の抜き方のパターンは下記の3つのようです。
substring()
substr( )
split( )
数字なので単純には 0 1 2 3 4 5 6 の静止画を
フレームにあわせて変えていくという面倒なやり方。
は しない。
まぁあとはスクリプトでできそうだよねと思う。
がどうやってやるかわからない。。。
調べると、
http://www.da-tools.com/AE/exp/jiturei/textSample.html
timeToTimecode( ) メソッド
こいつを使えばなんとかできるみたいだとわかる。
でも、「Global objectのtimeToTimecode( ) メソッドで現在のTimeを取得」
とあるが、Global objectがわからん。
形にはなったが、ガタガタしますね。
これがその動画です。
n=2;
t=time;
if(n <= time){ t = n; }
fullTime=timeToTimecode(t, 100, 0);
sec=fullTime.split(":")[2];
sec2=fullTime.split(":")[3];
sec+"."+ sec2
一番下のがこのスクリプトです。
上の3行が 2秒までカウントしたら止まるようにしている記述
これの原因は 。ドットが動く これは駄目ですね。
ということで結局バラで 一番上のようにつくってます。
数字の抜き方のパターンは下記の3つのようです。
substring()
substr( )
split( )
2014年1月27日月曜日
テキストのアニメーション整理
メモ
1、前から拡大 → 縮小
2、後ろからから小 → 大きい
https://www.youtube.com/watch?v=fXfM6gblcMs
3、,光が左から右へ
https://www.youtube.com/watch?v=S27NO4byTAY
4、パーティクル → 物体
パーティクルの演出: ほこり、砂 やわらかい感じ。
5、映像のなかに、オブジェクト化
フリンジスタイル
http://www.youtube.com/watch?v=lSaAUoM6MGE&list=PL9A17E17CF5290245
難しいのは手前に風景があるのとき。
6、映像の動きを テキストに反映する。
https://www.youtube.com/watch?v=9kVuvPHCZrA
環境:
A:床がある
B:宇宙
C:空想
1、前から拡大 → 縮小
2、後ろからから小 → 大きい
https://www.youtube.com/watch?v=fXfM6gblcMs
3、,光が左から右へ
https://www.youtube.com/watch?v=S27NO4byTAY
4、パーティクル → 物体
パーティクルの演出: ほこり、砂 やわらかい感じ。
5、映像のなかに、オブジェクト化
フリンジスタイル
http://www.youtube.com/watch?v=lSaAUoM6MGE&list=PL9A17E17CF5290245
難しいのは手前に風景があるのとき。
6、映像の動きを テキストに反映する。
https://www.youtube.com/watch?v=9kVuvPHCZrA
環境:
A:床がある
B:宇宙
C:空想
2014年1月26日日曜日
blender キャラクターモデリングメモ
blenderで本格的なキャラクター作りをがんばってみます。
とりあえず、ぐぐってみると。。
http://cgcookie.com/blender/cgc-courses/introduction-to-character-modeling-in-blender/
こんなサイトをみつけたので、
これにしたがって作っていこうとおもいます。
が
お金を払わないとみれないですw
とりあえず、ぐぐってみると。。
http://cgcookie.com/blender/cgc-courses/introduction-to-character-modeling-in-blender/
こんなサイトをみつけたので、
これにしたがって作っていこうとおもいます。
が
お金を払わないとみれないですw
2014年1月18日土曜日
AfterEffect カメラのピントのずれを表現する方法 浅い被写界深度効果
●http://helpx.adobe.com/jp/after-effects/kb/5647.html#A. 「ブラー(カメラレンズ)」エフェクトを使用する
ブラー(カメラレンズ)
どんな風に設定したらよいのか?
http://helpx.adobe.com/jp/after-effects/using/blur-sharpen-effects.html
ブラー&シャープエフェクト の違いはここです。
http://ae.tutsplus.com/tutorials/vfx/living-in-toytown/
http://www.videocopilot.net/tutorials/2d_depth_of_field/
よくわからんですね。設定の仕方がよくわからない。。。
注意:周りに へんなエッジができるのは、エッジ動作 でとる。
注意;マットも動画でつくらないと駄目だが、それっとどうやって簡単につくるの?
http://maruta.be/effect/183
マットのことを Z深度 デプスと呼んでます。
続き:
http://tv.adobe.com/jp/watch/cs-55-production-premium-feature-tour-/9535/
ブラー(カメラレンズ)
どんな風に設定したらよいのか?
http://helpx.adobe.com/jp/after-effects/using/blur-sharpen-effects.html
ブラー&シャープエフェクト の違いはここです。
http://ae.tutsplus.com/tutorials/vfx/living-in-toytown/
http://www.videocopilot.net/tutorials/2d_depth_of_field/
よくわからんですね。設定の仕方がよくわからない。。。
注意:周りに へんなエッジができるのは、エッジ動作 でとる。
注意;マットも動画でつくらないと駄目だが、それっとどうやって簡単につくるの?
http://maruta.be/effect/183
マットのことを Z深度 デプスと呼んでます。
続き:
http://tv.adobe.com/jp/watch/cs-55-production-premium-feature-tour-/9535/
after effects メモ カメラ追尾 エクスプレッション
●after effects カメラ追尾 エクスプレッション
http://www.nicovideo.jp/watch/sm9303924
http://blog.livedoor.jp/jacoco_c/archives/51269744.html
・位置
cc=effect("targetControl")("スライダー");
num=Math.floor(cc);
nxtNum=num+1;
start=effect("Target-"+num)("レイヤー").position;
end=effect("Target-"+nxtNum)("レイヤー").position;
if(effect("ease")("チェックボックス")==0){
linear(cc,num,nxtNum,start,end)}
else{
ease(cc,num,nxtNum,start,end);}
・回転
cc=effect("targetControl")("スライダー");
num=Math.floor(cc);
nxtNum=num+1;
start=effect("Target-"+num)("レイヤー").transform.xRotation;
end=effect("Target-"+nxtNum)("レイヤー").transform.xRotation;
if(effect("ease")("チェックボックス")==0){
linear(cc,num,nxtNum,start,end)}
else{
ease(cc,num,nxtNum,start,end);}
登録:
投稿 (Atom)
Ga4のtest
これを押すとリンクするよ 参考にした記事はこちら
-
unity の2Dゲーム制作をやっていてわからなかった点。 背景の画像や、床の画像は適切に配置だけすれば 描画はされるが、そこの床があるか? は 設定しなければならない。 やり方として、2つ。 Box Collider 2D 緑の枠で囲まれているこの線を コ...
-
1ヶ月前からUnreal engineを触ってますが、プログラムの経験がない僕にとっては 結構敷居が高いアプリケーションですが、楽しいのでレベルの低い人でもわかるように お伝えしていきたいと思います。 他の説明ではさらっとやっているところを独自の解釈でお伝えしていきます。...
-
アニメーションの慣性表現を探すとなかなか 日本語でないw こちらの動画を参考につくってみたが、、、。 ぷよんって感じがちょっと違う。 amp = .1; freq = 2.0; decay = 2.0; n = 0; if (numKeys ...