Unity chanアセットでサンプルのシーンを見る

Unity chanアセットのサンプルシーンを見るには

qiita.com

上記を参考にUnity chanアセットのScenesから3つのシーンを設定することでサンプルの確認ができました。f:id:kcha:20180722090928j:plain

ちゃんとFile -> Build Settingsでシーン3つともScenes in Buildに登録しておくこと。(各サンプルシーンに別のシーンへの遷移があるので、登録しないまま動かしたらエラーを吐かれました。)f:id:kcha:20180722091204j:plain

 

アクション、ポーズ、移動がそれぞれ見れるようになりました。

youtu.be

  

きっかけ

Unity chanのモデルだけ取り込んで移動の様子を見ていたところ、ジャンプ動作でアプリ停止になるとわかって、じゃあサンプルのシーンではどう処理しているのか見てみよう、というのがきっかけ。f:id:kcha:20180722090419j:plain

(ただSendMessageじゃなくてメッセージシステムを使うのが普通のようですね。)

Unityで夕方を作ってみたかった

はじめに

比較対象としてデフォルト空間から。 f:id:kcha:20180721092531j:plain

 

夕方

ここを参考にアセットストアから WorldSkies Free というアセットを取得。Window -> Lighting -> SettingsからSkybox Materialsを取得したアセットの中のSky_matに設定する。

さらにDirectional Lightを(角度を変えて追加。デフォルトのライトは無効化する)追加して、ライトのカラーをskyboxとあった色に変更。(最初、影が発生しなかったので注意して見るとライトのShadow TypeがNo ShadowsだったのでSoft Shadowsに変更)f:id:kcha:20180721092636j:plain

 

夕方(ライトは白色)

Skyboxの変更でも環境光に影響を与えるので、ライトを白に戻してみる。

f:id:kcha:20180721094638j:plain

影の縁には影響が出てますね。ユニティちゃんの肌や床は白いままなので、ライトの色の変更も同時に行うべきでしょうか。

 

追記

Skybox Series Freeというアセットを取得。Window -> Lighting -> SettingsのSkybox MaterialsにAmbienceExposureという空を設定。太陽が見えるようカメラ角度を変更した結果、こうなりました。

f:id:kcha:20180721100118j:plain

足元が浮いているように見えますね…

 

Unityについて書き始めてみる

まず実験するにもフィールドを作らければいけないと思ったんですが、よくある白黒チェックのフロアを作るにもどうするか悩むはめになり、とにかく某所からいただいたチェックの画像をテクスチャにplaneを配置して張り込む。(planeのスケールは[x:10,z:10])

 f:id:kcha:20180719232150p:plain

f:id:kcha:20180719232229p:plain

タイリングが[x:1,y:1]のため、目いっぱいに広がっています。

 

なので、タイリングを20x20に変更してそれっぽくする。

f:id:kcha:20180719232404p:plainf:id:kcha:20180719232413p:plain

とりあえず床はOK。

JavaのArrayListのソートと文字列リストのソート

独自オブジェクトを含むリストのソート

ここ「Listの要素をソートする(独自クラス) - Javaちょこっとリファレンス」からListのソートを写経してみた。

拡張for文の文法忘れていて、調べなおさなきゃいけなくて笑えない。

文字列リストのソート

ついでに文字列を含むリストのソートも実際にやってみた。特に何もしなくても辞書順のソートはしてくれる、のか?

import java.util.*;

public class Main {
	public static void main(String[] args) {
		ArrayList<String> al = new ArrayList<String>();
		
		al.add("bb");
		al.add("cc");
		al.add("ええ");
		al.add("aa");
		al.add("aあ");
		al.add("いい");
		
		Collections.sort(al);
		
		for(String str : al){
			System.out.println(str);
		}
	}
}

出力はこう。

aa
aあ
bb
cc
いい
ええ

(ちゃんと辞書順)