これ(左から2番目)で整地できる
Heightで高さを決める。それが地面全体の基準の高さになる
・道
Terrainの地面からしか、木や草をブラシで生やすことができない。だから、草や木が生えそうなところはあらかじめ地を作っておく。(埋めこんでおく)
今回のものでいえば、横の石壁はオブジェクトだが、そこから草が生えているように見せるために石の中にもTerrainの地面を入れておく。
2015年9月2日水曜日
2015年8月8日土曜日
iTweenでアニメーション
Asset Store
iTweenでNPCが巡回する
NPCオブジェクトにI Tween Event スクリプトを
Nameのところにイベント名を入力
x, y, z の座標にチェック 数字を入力
time で上の座標まで移動する時間を指定
looptype でloopの仕方を指定
iTweenEvent.GetEvent(gameObject,"イベント名").Play();iTweenEvent.GetEvent(gameObject,"イベント名").Stop();スクリプトではこれで制御可能
ActionScript入門Wikiで
2015年8月6日木曜日
QuickSetObjectPlacerを使ってみた
Asset StoreのQuickSetObjectPlacerを使ってみた
- Asset内の”_QuickSet”のprefabをScene上に配置
- セットしたいObjectをScene上に
- ”_QuickSet”のAdd an object group を押す
- Add a game object を押す。そこに、連続して配置したいオブジェクトを選択
- 左に出るチェックボックスにチェックを
- START OBJECT PAINTING を押す。
これでScene上クリックで、そこに選択したオブジェクトを連続配置が可能。
この場合、Hierachy上に個別に配置される。グループでまとめたい時は⑥を押す前にGroup Name と Group Parent を設定してやるといい。
この方法で配置した場合、マウスクリックの位置になるため、バラバラの座標になる。
だから、Edit>Snap Settings で一挙座標を整数値に変えることが出来る。
が、Vキーを押して微調整する方が早いかも
この方法で配置した場合、マウスクリックの位置になるため、バラバラの座標になる。
だから、Edit>Snap Settings で一挙座標を整数値に変えることが出来る。
が、Vキーを押して微調整する方が早いかも
ラベル:
Asset Store,
Unity,
ゲーム,
ゲーム制作,
メモ
Lightingについて
Lightingで遊ぶ
Sample Assetsをインポートhttps://www.assetstore.unity3d.com/jp/#!/content/21064
1.
Scene全体を真っ暗にして・・SpotLightにLightShaftのスクリプトをつけるだけ
この方法はDirectionalLightとSpotLightのみ(普通にHaloにチェック入れればOK)
真ん中に黒い線が走ってしまうのはなんでだろ?
スクリプトのAttenuation curveにチェックを入れて、少しずつ光が弱くなるようにした。
これで少しごまかせたが…
2.
DirectionalLightにLightShaftのスクリプトを付けて、ちょうど窓から射し込むように配置
結果・・・
これみる感じ、黄色い四角に入ったところしかボリュームライトは出来ないみたい。
⒊IBL&LightProveのこと
・Staticにしたオブジェクトは間接光の影響を受けるが、動的のものは影響を受けない。そのためにLightProveを設置したら動的のものにも間接光をあてることができる。
・ライトを使うよりも超軽いため、LightProbeで代用する
ただ、影や光沢といった表現を行うことができない
できてる・・・?
IBL
DirectionalRightを削除して、オブシェクトを全部staticに。IBLのみのライティング
動的オブジェクトにこのライトをつけるには、LightProveを配置する。
上のこの方法は、屋内では使えない。本来暗いはずの室内にもIBLの影響が出てしまうから
こういう時、RefrectionProveを使う。
参考:http://tsubakit1.hateblo.jp/entry/2015/03/17/233423
RefrectionProveはレンダリング結果から反射や色をきめる。
なお、RefrectionProveの設定がBakeの場合はStaticのものしか影響されない
IBLのみ
RefrectionProve使用時
![]() |
これは…陰と陽を強くするものだろうか…?
まだよく分かってない
テラシュールブログさん:http://tsubakit1.hateblo.jp/entry/2015/05/15/003739
kode80SSRのをやってみた
Assets内の「SSR.cs」「SSR.cs.meta」「Resourcesファイル」を入れれば、できるみたいだったが、なぜか「SSR.cs.meta」を入れられなかったので 元のプロジェクトを開いて作ってみた。
床に赤球が反射している。床のマテリアルのSmoothnessの数値を変更すれば、反射度を変更できる。
テラシュールブログさん:http://tsubakit1.hateblo.jp/entry/2015/05/15/003739
kode80SSRのをやってみた
Assets内の「SSR.cs」「SSR.cs.meta」「Resourcesファイル」を入れれば、できるみたいだったが、なぜか「SSR.cs.meta」を入れられなかったので 元のプロジェクトを開いて作ってみた。
床に赤球が反射している。床のマテリアルのSmoothnessの数値を変更すれば、反射度を変更できる。
2015年8月5日水曜日
Shader学んだことまとめ
再生させたらオブジェクトの色を変える
プロジェクト内でやったこと
・オブジェクト一つの色を変更
・Sceneに存在する全ての色を無色に(カメラにスクリプトを)
transform.GetComponent<Camera> ().SetReplacementShader (nightvisionShader, null);
で全てのシェーダーを差し替えできる
ソナーのようなことができるAssetを使ってみた
・オブジェクトを配置して、Asset内に入っていたスクリプトをカメラにつけた
結果… 赤い線が走っているだけのように見えた。
・インターバルの感覚、スピードの調整
・ソナーを出す時に、画面全体の色を黒く。機械視点で見ているような
・カメラを複数置く
とかすれば、ソナーっぽくなるかな?今度やってみる
2015年8月3日月曜日
綺麗なScene切り替え
テラシュールブログさんのhttp://tsubakit1.hateblo.jp/entry/20140505/1399289078やってみた。
FirstSceneには
・cube1つ
・Create Empty(GameController)に作ったFadeというスクリプトを
スクリプト内のLodeLevelには次のScene名(SecondScene)を
・Inport Packageに入っている、FadeCameraを
SecondSceneには
・Cube2つ
Fade.cs
using UnityEngine;
using System.Collections;
public class Fade : MonoBehaviour
{
void Update ()
{
if (Input.GetKeyDown (KeyCode.Space))
{
LoadLevel ("ScondScene");
}
}
void LoadLevel (string name)
{
float time = 1; // フェードアウト時間
// フェードアウト
FadeCamera.Instance.FadeOut (time, () =>
{
// フェードアウト完了後の処理(画面は真っ暗)
Application.LoadLevel(name); // シーン遷移
// フェードイン
FadeCamera.Instance.FadeIn (time, () =>
{
// フェードイン完了後の処理
});
});
}
}
ただ、自分の設定が悪いのか微妙だなー
FirstSceneには
・cube1つ
・Create Empty(GameController)に作ったFadeというスクリプトを
スクリプト内のLodeLevelには次のScene名(SecondScene)を
・Inport Packageに入っている、FadeCameraを
SecondSceneには
・Cube2つ
Fade.cs
using UnityEngine;
using System.Collections;
public class Fade : MonoBehaviour
{
void Update ()
{
if (Input.GetKeyDown (KeyCode.Space))
{
LoadLevel ("ScondScene");
}
}
void LoadLevel (string name)
{
float time = 1; // フェードアウト時間
// フェードアウト
FadeCamera.Instance.FadeOut (time, () =>
{
// フェードアウト完了後の処理(画面は真っ暗)
Application.LoadLevel(name); // シーン遷移
// フェードイン
FadeCamera.Instance.FadeIn (time, () =>
{
// フェードイン完了後の処理
});
});
}
}
ただ、自分の設定が悪いのか微妙だなー
AseetStoreのGame Jam Menu Templateを使って見る
AseetStoreのGame Jam Menu Templateを使って見る
1.Prefabを二つ配置。
2.StartOptionスクリプトのChangeSceneにチェックをいれる。そしたら、BuildしたSceneの1に移る。
簡単にタイトル画面が作れるからいいですね。・・・地味ですが
2015年8月2日日曜日
Lux2.0で遊んでみる
Lux2.0で遊んでみる
雨を作ってみる
床のオブジェクトに、Setup Lux2.0のスクリプトを。以下数字は適当に…
床のマテリアルはこんな感じ…
これだけで、
こんな感じに。
Water FX Pack というAssetを組み合わせると良い感じに雨降っているようになる!
ただこのアセットの雨の、FX_Spit(水しぶき)は微妙? ないほうがいいかも
土砂降りにしたい時はprefabを複製して、同じ場所に配置すればいい
これで、LuxでIBLができるかも。Lux2.0でのやり方はまだよく分からない。
2015年8月1日土曜日
学んだことをメモするだけ
動く床を作りたい
public class AutoMoveScript : MonoBehaviour
{
Vector3 BasePosition;
private float offset = 30f;
// Use this for initialization
void Start ()
{
BasePosition = transform.position;
}
// Update is called once per frame
void Update ()
{
//sinカーブ 掛ける値を大きくすると周期が短くなり、小さくすると周期が長くなる。
transform.position = BasePosition + Vector3.forward * Mathf.Sin(Time.time + offset);
}
}
{
Vector3 BasePosition;
private float offset = 30f;
// Use this for initialization
void Start ()
{
BasePosition = transform.position;
}
// Update is called once per frame
void Update ()
{
//sinカーブ 掛ける値を大きくすると周期が短くなり、小さくすると周期が長くなる。
transform.position = BasePosition + Vector3.forward * Mathf.Sin(Time.time + offset);
}
}
最初Update内を、transform.position = transform.position + ・・・
ってやってたが、移動する床の中心がズレた。それもそのはず、自分の座標に足されていくからそうなるよねー
セーブポイント(チェックポイント)を作りたい
public class CheckPointCS : MonoBehaviour
{
public GameObject target;
public ParticleSystem savefin;
public ParticleSystem respawn;
Vector3 checkposition;
private bool checkable = false;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
if (checkable)
{
if (Input.GetKeyDown ("1"))
{
target.transform.position = checkposition;
respawn.Play();
}
}
}
void OnTriggerEnter(Collider collider)
{
if(collider.tag == "Player")
{
checkable = true;
checkposition = transform.position;
Debug.Log("getcheck");
savefin.Play();
}
}
}
{
public GameObject target;
public ParticleSystem savefin;
public ParticleSystem respawn;
Vector3 checkposition;
private bool checkable = false;
// Use this for initialization
void Start ()
{
}
// Update is called once per frame
void Update ()
{
if (checkable)
{
if (Input.GetKeyDown ("1"))
{
target.transform.position = checkposition;
respawn.Play();
}
}
}
void OnTriggerEnter(Collider collider)
{
if(collider.tag == "Player")
{
checkable = true;
checkposition = transform.position;
Debug.Log("getcheck");
savefin.Play();
}
}
}
プレイヤーがセーブポイントのトリガーにあたったら、その座標を取得。1のキーが押されたら、取得した座標に出現する。
おまけでパーティクルを使って、セーブポイントに着いた時、セーブポイントに出現した時を演出
おまけでパーティクルを使って、セーブポイントに着いた時、セーブポイントに出現した時を演出
パーティクル
スクリプトから再生
public ParticleSystem 変数名;
で、パーティクルを保持
変数名.Play();
で、再生。
収束エフェクトの作り方
収束エフィクト(チャージしているような)
- ShapeをSphere(球)に
- Emit from ShellをONに。球面からパーティクルが出るようになる
- Start SpeedをRadiusのマイナスの値にする。マイナスの数字を入れることによって逆方向に。この場合球の中心に
- Rateを100に(パーティクル発生頻度)
- Render ModeをStretched Billboard(形状を変化させることができる)
- Length Scaleを0.5に。縦長にすることができる
2015年6月18日木曜日
DeNAで開催された、げんなま第7回に行ってきた。
今回はキュレーションの話。
メモしておきたいことだけを抜粋
・SCRUMの話
スクラムと聞くとラグビーを思い出すが、これはソフトウェア開発のことの単語。
『スクラム実践入門』という本が物凄く解りやすいみたい
・コミュニケーション方法
Slackを使っているみたい。だけどこれだけではダメで、フリースペースとかで口頭で。そしてその場でなおすみたい
さて、自分にとって本番の懇親会
たくさん質問してきました⭐️
・ソシャゲ業界は今どの位置? 全盛期なのか成長中なのか下り坂なのか?
2人の方に質問し、一人は全盛期を過ぎかけて、下り坂手前 と。
もう一人はまだ成長中 だと。
・ソシャゲの走りと思われる、怪盗ロワイアルが人気だった理由は?
そのころまだMMOとかは少ししかなく、ゲームで離れたプレイヤーとやり取りできたという、目新しさがあったこと。大げさにいうと、離れたところにいる人とジャンケンできるだけでも、売れたかもしれない。 財宝を奪い合うことにより、ネット上でのコミュニケーションが出来上がった。
そいういう意味では、10代よりも30代に人気がでたのではないか。
・ガチャという世界観にそぐわない物を使うのはなぜか?
本当はLOLみたいに姿が変わるものや、超レアカード一枚に1000円 とかいう儲けかたをしたい。がしかし、単価に見合わない。 一枚確定で1000円というよりも、1000円で10連ガチャで獲得のチャンスを得られる という方が売れてしまう。
・流行り廃りはあるのか?
もちろんある。昔はカード系のソシャゲらしいソシャゲだったが、今はコンシューマーと同じくらいのRPGが楽しめる(白猫とか)。おそらく、ソシャゲでFPSが作れるのもそう遠くないと思われる。
ソシャゲはパズル系がもう出切った。新しいオリジナルの要素を組み込んでいかないと、売れない。
・自分が興味ないゲームジャンルでもやりこむべし!!
例えばカードバトルとか、自分は興味なくても引き寄せている要素がどこかにある。やりこむことによってそれを分析する。
登録:
投稿 (Atom)
















