C#

Albedoの色相をスクリプトで変える

C#

UnityEngine.Color.HSVToRGB関数を使ってHSVの値を調節しています using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class hsv : MonoBehaviour { //inspectorにsliderで0~1までのfloatで表示…

瞬きをループ(コルーチンを使って指定した秒数ごとにテクスチャを切り替える)

C#

using UnityEngine; using System.Collections; public class EyeBlink : MonoBehaviour { public Texture _textureA; public Texture _textureB; public Material _mat; void Start() { //BlinkLoop_コルーチン呼び出し StartCoroutine(BlinkLoop_()); } pr…

自身の親の親のオブジェクトのComponentを入れる

C#

単純で.parent.parentというように二回「.parent」を入れるだけ //親の親のgameobjectを入れる変数 private GameObject _parent; //AnimatorComponentを入れる変数anim private Animator anim; void Start(){ //自身の親の親のgameobjectを_parentに入れる _…

使いそうなMathf関数

C#

Deg2Rad, Rad2Deg degree(度)からradian(ラジアン)の変換 float deg = 30.0f;//度 float rad = deg * Mathf.Deg2Rad;//ラジアン radian(ラジアン)からdegree(度)の変換 float rad = 10.0f;//ラジアン float deg = rad * Mathf.Rad2Deg;//度 ちなみに三角関数…

Animatorのステートがonの状態になったら何かしら実行する

using System.Collections; using System.Collections.Generic; using UnityEngine; public class state_on : MonoBehaviour { //自分のAnimatorComponentを入れる変数anim private Animator anim; void Start() { //変数animに自分のAnimatorのcomponentを…

関数の呼び出し

C#

関数の呼び出し //最初にa関数を呼び出す void Start(){ //ここの()の中は数値、文字、真偽値を入れる。何も入れなくてもよい a(99.99f); } //a関数は実数のx(ここの()の中でもらった数値を変数に代入する) void a(float x){ Debug.Log(x); } 関数に初期値…

instantiateとenabledのメリットデメリット

C#

・instantiateでそのつど出現させてる場合 メリット:Destroyするので、出現していない間はメモリに負荷がかからない デメリット:instantiateが重いので、生成時に一瞬負荷がスパークする ・enabledで表示させている場合 メリット:enabledが軽いので、負荷…

マテリアルの値をスクリプトで変える方法2 (指定したマテリアルを使用しているオブジェクト全てに反映する)

C#

変数の定義に下記のような感じで変数を作っておいてinspectorでマテリアルを設定 public Material Material_a;あとは下記のようにマテリアルにアクセスすれば良い Material_a.SetColor("_Color", new Color(1f, 0.0f, 0.0f, 1.0f));

マテリアルの値をスクリプトで変える方法_1 (マテリアルは同じだが、個別に変える方法)

C#

using System.Collections; using System.Collections.Generic; using UnityEngine; public class emission : MonoBehaviour { //オブジェクトを指定 public GameObject obj_1; //データ型Colorを入れるcolor変数 private Color color; //データ型Rendererを…

ImageEffectをSceneでonにしない方法

C#

ImageEffectのscriptで [ExecuteInEditMode] と書いてある部分を消すかコメントアウト [ExecuteInEditMode]はplayしてなくてもスクリプトが発動する 消すかコメントアウトしてからinspectorでスクリプトをon/offすればシーンに反映される

スクリプトをアクティブor非アクティブにすると呼ばれる関数

C#

アクティブにすると呼ばれる関数 void OnEnable(){ print("hoge"); } 非アクティブにすると呼ばれる関数 void OnDisable(){ print("hoge") }

コルーチン

C#

1フレーム待つ StartCoroutine ("Test"); private IEnumerator Test() { yield return null; Debug.Log ("hoge"); } 1秒待つ StartCoroutine ("Test"); private IEnumerator Test() { yield return new WaitForSeconds (1.0f); Debug.Log ("hoge"); }

Skyboxを回転する方法

C#

下記のスクリプトをカメラにアタッチする using UnityEngine; using System.Collections; public class rotateSkybox : MonoBehaviour { public float angle = 0.1f; float rotate = 0.0f; void Start(){ } void Update() { //rotateにangleを足していく rot…

アニメーションをもう一度頭から再生する

下記スクリプトのobjに適用したいオブジェクトをアタッチすると スペースキーを押すたびにアニメーションが頭から再生する using System.Collections; using System.Collections.Generic; using UnityEngine; public class restart : MonoBehaviour { //アニ…