サブサーフェスが上手くいくかはテクスチャ次第!
マイクラで使う時は必ずデスクトップの「トレーラー風テクスチャ」の中にあるBarebonesテクスチャを使う
ボールを手首の上にのせる←これ大事!
指の穴は進行方向へ向ける

ボールを離す瞬間まで同じ角速度で手首を捻る(無理して回転を掛けようとしない)
目次
⇒縄が中心に接続されていないこと
縄が持ち手の中心に接続されていれば、縄の回転に必要な力は少なくて済む。
しかしこの縄跳びは中心からずれた位置に縄が接続しているため回転に必要な力が大きくなってしまう。そのため縄が回りにくくねじれやすい。
参考図↓

写真で説明するので同じようにやってみてください!
最初の状態↓

短いほうの縄で輪を作る↓

短いほうの縄を持ち手の穴に通す↓(少し難しいかも)

縄の両端を引っ張ってきつく締める↓

短いほうの縄を穴に通す↓

縄の両端を引っ張ってきつく締める↓

短いほうの縄でもう一度輪を作る↓

縄の両端を引っ張ってきつく締める↓
完成!↓(これをもう一方の持ち手にも行う)

完成したら熱湯につけて縄の形を固定すると尚良いです。
この改造をした後3000回ほど跳びましたが全くねじれることはありませんでした。
二重跳びを連続でやらない限りねじれることはないと思います。
ぜひ試してみてください!
マイクラアニメに関わらず、動画を作るにあたって最も難しいのはライティング(照明)でしょう。特に環境光は自分で一から作るのはかなり難しいです。
今回は、そんな環境光を超簡単に作る方法を紹介します。
今回は大気テクスチャを用いて環境光を作っていきます。
大気テクスチャは太陽の大きさ,強さ,高度,回転,標高,空気抵抗,ちり,オゾンの八項目を設定することができます。
こんなに様々な機能がある大気テクスチャですが、Blenderの標準機能として搭載されているので無料ですぐに利用できます!
場所はワールドプロパティ⇒カラー⇒大気テクスチャ

大気テクスチャを入れてみた(設定の変更なし)↓


水色の枠内に白いブロックを積んでいくというゲーム。
単純で特に面白みもないがUnity始めたての私には良い練習になったし、C#の文法への理解も高まった気がする。
今回はブロックを生成するSquareGeneratorスクリプト
ブロックを動かすSquareControllスクリプトの二つを作成する。
まずはSquareControllスクリプトから↓

TimeTotal
一秒を測るための変数
SquareData[]
ブロックの位置を記録するための配列。ブロック間で共有する情報なので必ずStaticをつけて静的にする。Staticがないと配列が共有されずブロックが積みあがらないので注意。'1'は壁を表している。
※count,squaretotalは消し忘れただけなので無いものと思ってください。いらない変数です。

Time.deltaTime
前回Updateメゾットが実行されてからの時間を調べる
TimeTotalにTime.deltaTimeを足していくことで一秒を測ることができる。
if(SquareData[(int)transform.position.x,(int)transform.position.y] == 1){}
ブロックの移動先にすでにブロックか壁があるときに実行される。
39行目
壁に重ならないようにブロックを1上に移動させる。
40行目
ブロックの現在位置を記録する。
41行目
SquareGenerateスクリプトのSquareGenメゾットを実行する。
SquareGenメゾットはクローンブロックの生成を行う。
42行目
ブロックを動かなくする。
クローンブロックを生成する前にブロックを動かなくしてしまうと動かないクローンブロックが生成されてしまうので必ず最後に記述する。

キー入力に応じてブロックを移動させる。中身は37-44行目とほぼ同じ。
次はSquareGeneratorスクリプト↓

public GameObject SquarePrefab;
ブロックのプレハブを入れるための変数
SquareGen()
クローンブロックの生成を行う。

作った二つのスクリプトはどちらもSquarePrefab(ブロックのプレハブ)にアタッチする。
GetComponentはTを探すことができるが。そのブロックのコンポーネントにあるものしか探すことができない。
例えば、スクリプトA(ブロックAにアタッチされている)はブロックBのスクリプトBから探すことができない。なので写真のように使うスクリプトはすべてアタッチしておく。
