Unity 文化祭で使ったテクニック?
どうも、ラクレットチーズを使った料理を食べてみたい夜月輝星です。
今回は文化祭で展示した作品で使用したUnityのテクニックを箇条書き形式であげていこうと思います。
したこと❶
ボール、BoxUnityちゃんなど指定した動けるオブジェクトに自分の追わせる。追わせる範囲を設定する
<方法>
①「Nav Mesh Agent」というものを追跡させたいものに追加する(これが追いかけさせるための機能)
↓
②自分のキャラの位置を設定するスクリプトをつける
↓
③NavMeshAgent.destnationで要求された目的地に最も近い有効な
NavMesh の位置にエージェントを移動させることを要求します。
↓
④Targetに追いかけさせたいものを入れる(今回は「unitychan~」)
↓
⑤追跡させたいフィールドのstaticにチェックを入れる
(追跡範囲を設定)
↓
⑥windowのNavigationをクリックし、Bakeをクリック
したこと❷
指定したオブジェクトを上下、左右に移動できるようにした(移動床の作成)
<方法>
①スクリプトを作成
x y z軸(右上図)で動けるようvector3で宣言 private Vector3 pos;
オブジェクトの位置を設定しておく void Start () {
pos = transform.position;
}
設定しておいた位置を足し引きして移動させる void Update () {
this.gameObject.transform.position = new Vector3(pos.x, pos.y + Mathf.PingPong(Time.time, 3), pos.z);
}
*今回はy軸を使って上下に動くようにしてある
*PingPong (float t, float length); で値 t を行き来させる。 t は length より大きくなることも 0 より小さくなることもない。
返される値は 0 とlengthの間を行ったり来たり移動する。
https://docs.unity3d.com/jp/current/ScriptReference/Mathf.PingPong.html 参照)
②作成したスクリプトを自分の動かしたいオブジェクトに追加する
したこと❸
指定したオブジェクトに触れたオブジェクトを指定した座標に移動できるようにした(ワープ)
<方法>
①スクリプトを作成
・他のものが衝突したら指定した座標に移動 void OnTriggerEnter(Collider other){
other.gameObject.transform.position = new Vector3(x, y, zの移動させたい座標);
}
*Colliderとは衝突判定に使用するComponent、
Rigidbody Componentと組み合わせて物理的な挙動を簡単に実現出来る。
(http://developer.wonderpla.net/entry/blog/engineer/Introduction_Unity_4/ 参照)
*OnTriggerEnterで衝突した瞬間
OnTriggerStayで衝突している間
OnTriggerExitで衝突から離れた瞬間 呼び出すことができるようになる
(http://developer.wonderpla.net/entry/blog/engineer/Introduction_Unity_4/ 参照)
②作成したスクリプトを触れたらワープさせたいオブジェクトに追加
③Box Collider内のIs Triggerにチェックを入れる
いかがだったでしょうか?この記事を見てUnityで少しでもアクションを作ってみようかなと思っていただければ幸いです。皆さん良いクリスマスを
UNITY キャラ動かすもの
今年もアドベントカレンダーの時期がやってまいりました。今年は文化祭で作った作品について書こうと思います。
<準備する事>
・当たりを判定をつける(キャラがすり抜けないように)
Component→Physics→Rightbody
・操作できるようにする
<Character Controllerの調整>
・Center 中心位置
・Redius 半径
・Hight 高さ
このようにキャラを設定し、スクリプトを打ち込めば動くようになります。(キャラの移動速度、初期位置設定、キーの対応設定など)
個人的な目標
こんにちは、夜月輝星です。
前回の目標は「時間がある時にブログで今まで習ったことを書く」でした。
じゃあ、今年も書くのかというと残念ながら違います。
今年は少し個人的に忙しくなりそうなのです。
なので、今年は個人的に目標を立てようと思います。
今年の目標は「医療情報技師試験に受かるよう努力しよう」と思います。
実は私は去年医療情報技師の試験を受けたのですが残念ながら落ちてしまったのです。
しかし、「失敗は成功のもと」という言葉があります。
なので、今年こそ受かるかはともかく受かるように努力して少しでも自分の力になるように頑張ろうと思います。
最近ダウンロードしたものの紹介
この内容はアドベントカレンダー「12月9日」の記事です。
今年もアドベントカレンダーを書く季節になりましたね。
しかし、全く何の記事を書けば良いのか思いつきませんでした。
最初は「最近Unityで作った作品を紹介しようかな?」と思ったのですが「私の記事unityばっかりじゃないか・・・」と思い今回は最近ダウンロードした
を紹介したいと思います。
<こちらを参考にさせて頂きました>
<Android Studioってそもそも何?>
Androidアプリを開発するための、統合開発環境(IDE)です。
<そもそもAndroidって何?>
スマホのOSとしてGoogle社によって開発されたOSです。
<何が凄いの?>
・いろんな場所で使え強力に機能するコード補完
・テキストエディタ並みのテキスト編集
・プログラムの検査(インスペクション)
*リファクタリング (refactoring) とは、コンピュータプログラミングにおいて、プログラムの外部から見た動作を変えずにソースコードの内部構造を整理すること
https://ja.wikipedia.org/wiki/リファクタリング_(プログラミング)参照
また、エミュレータでプレビューに近いことができます。
<実際の画面>
やったこと④
こんにちは、夜月輝星です。
今回はデータ表現でよく使われる3つの論理演算を紹介しようと思います。
⑴論理和演算(OR)
2つの条件のうち、どちらか片方が真の場合、結果を真にするというもの
例
A=0,B=0の場合、結果は0
A=1,B=0の場合、結果は1
A=0,B=1の場合、結果は1
A=1,B=1の場合、結果は1
⑵論理積演算(AND)
2つの条件が両方とも真ならば、結果を真にするというもの
例
A=0,B=0の場合、結果は0
A=1,B=0の場合、結果は0
A=0,B=1の場合、結果は0
A=1,B=1の場合、結果は1
⑶排他的論理和(XOR)
2つの条件のうち、どちらか片方が真の場合のみ、結果を真にするというもの
例
A=0,B=0の場合、結果は0
A=1,B=0の場合、結果は1
A=0,B=1の場合、結果は1
A=1,B=1の場合、結果は0
これら3つの論理演算以外にも結果が逆になる否定(NOT)があります
これらを覚えればアルゴリズムを考える時などでとても重宝します。ぜひ、興味があれば覚えてみると良いかもしれませんね。
やったこと③
こんにちは。夜月輝星です。今回は情報セキュリティの3要素(CIA)について書きたいと思います。
⑴機密性 Confidentiality
情報が漏洩しないようにすること
⑵完全性 Integrity
情報を改竄されないようにすること。
⑶可用性 Availability
情報を必要な時に使えること。