技術ブログを目指すブログ

toncrimentan_w’s blog

unity でスクリプトからアセットを作成する方法

一体ずつキャラクタープレファブを生成するのは面倒だ。

データベースから一気にプレファブを作ることはできないかと思う。

 

以下のコードを実行すると・・

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using UnityEditor;

public class test01
: MonoBehaviour
{
/**
* @brief 開始
*/
void Start()
{
/// スクリプトからプレファブを作成
GameObject prefab = new GameObject( "gameObject" );
PrefabUtility.CreatePrefab( "Assets/scenes/test01/test01.prefab", prefab );

/// スクリプトからマテリアルを作成
Material material = new Material(Shader.Find("Specular"));
UnityEditor.AssetDatabase.CreateAsset( material, "Assets/scenes/test01/test01.mat" );
}
}

 

こんはふうにスクリプトからアセットを作成することができる。

f:id:toncrimentan_w:20171029211710j:plain

 

これなら

キャラクターデータベースからたくさんのプレファブを生成することができるのではないだろうかーという予感。

 
 
※参考にさせていただきました。

 

unity でシーンの切り替え方法メモ

あらかじめ2つのシーンを作っておきます。

f:id:toncrimentan_w:20171029120426j:plain

 

メニューバー File > Build Setting から表示されるウィンドウに

2つのシーンを順にドロップしてビルドシーンに追加しておきます。

f:id:toncrimentan_w:20171029120611j:plain

 

 

あとはボタンを押したときのスクリプト

シーンの切り替えスクリプト LoadLevel() を記入することで

シーンを切り替えることができます。

 

<PRE>

public class LauncherScript
: MonoBehaviour
{
**
* @brief クリックイベント
*/
public void OnClick01()
{
Debug.Log( "clickしました1" );

Application.LoadLevel( "test01" );

}

}

</PRE>

  f:id:toncrimentan_w:20171029120823j:plain

 

2つ以上のシーンを開きたい場合は以下のスクリプトです。

Application.LoadLevelAdditive( "test01" );

unity 用にmayaからmbを出力したら2つ出てしまった問題の解決メモ

mayaで武器をモデリングし出力したところ

モデルが2つ出てしまった

詳しくは知らないけどもmayaからの出力方法がまずかった模様

f:id:toncrimentan_w:20170820232344j:plain

 

選択項目のエクスポートのオプションで

以下のようにリファレンスの保持やらなにやらの不要なオプションを外します。

f:id:toncrimentan_w:20170820232348j:plain 

 

すると2重に出てしまう不具合が解消されました。

f:id:toncrimentan_w:20170820232358j:plain

前回やっつけで作ったキャラアイコンも修正しとこ。

 

あとエクスポータ用にmelを組むべき

 

 

unity でmayaからモデルをインポートする方法

unityではmayaのフォーマット ma mb がそのままつかえるらしい

https://docs.unity3d.com/ja/current/Manual/HOWTO-ImportObjectMaya.html

 

実際にやってみる。

 

mayaで適当にモデルを作成する。

(置き場所例:C:\toncrimentan\windows\unity\ReferenceData\chr\scenes)

f:id:toncrimentan_w:20170820162237j:plain

 

モデルをエクスポートする。

データサイズも小さくなるので

「選択項目のエクスポート」でmbで出力

(置き場所例:C:\toncrimentan\windows\unity\ReferenceData\chr\output)

f:id:toncrimentan_w:20170820162243j:plain

 

unityのAssetフォルダに置いたものをドロップする

(置き場所例:C:\toncrimentan\windows\unity\project\Assets\model\chr)

f:id:toncrimentan_w:20170820162248j:plain

でた、 やったうれしい。

 

unityでは maya でも fbx でも lighewave でも モデリングツールがつかえるそうです。

(今後のためにもfbxのほうがよいのかな わからんけども)

 

unity でオブジェクトにフォーカスする方法

unityでオブジェクトにフォーカスする方法メモ

 

ダブルクリックすればおけ

f:id:toncrimentan_w:20170820160051j:plain

 

だいぶ前からいじり始めているけれども

書いておかないと全部わすれそう。

 

Visual Studio の環境設定のご紹介(勝手にスペース入れるな問題の解決方法)

新しくVisualStudioをインストールするとかならずぶち当たる問題

書式設定が俺仕様じゃない。

勝手にスペースとか入れないでほしい。

余計な事するな。問題

 

余計なことするな問題を解決する方法をご紹介します。

 

 

ソリューションエクスプローラーは左派なので

ドラッグして左に移動します。

f:id:toncrimentan_w:20170407005537j:plain

 

メニューバー > ツール > オプション

からオプションを表示します。

 

環境 > 全般 から配色テーマを青にします。

背景は白派です。 黒はやさしさを感じません(主観です。)

f:id:toncrimentan_w:20170407005539j:plain

 

環境 > フォントおよび色 からフォントサイズを変更します。

大きく見やすくします。 大きい字はやさしさを感じます(主観です。)

f:id:toncrimentan_w:20170407005540j:plain

 

テキストエディター > C/C++ > 書式設定 から

オートフォーマット関連をすべてOFFります。

勝手にスペースなどが入らなくなります。 ほんと余計なことするな。

f:id:toncrimentan_w:20170407005541j:plain

 

テキストエディター > C/C++ > インデント から

名前空間の内容をインデントするのチェックを外します。

インデントする方を認めないわけじゃないんだ ただ僕はしない派です。

f:id:toncrimentan_w:20170407005543j:plain

 

つづいて

プロジェクト > プロパティ からプロジェクトごとの設定です。

 

構成プロパティ > 全般 > 文字セット をマルチバイト文字セットを使用する

に変更します。 変更して困ったことはないです。

f:id:toncrimentan_w:20170407005544j:plain

 

構成プロパティ > C/C++ > 全般 から

複数プロセッサによるコンパイルをはいにする。

早くなるならぜひおねがいします。

f:id:toncrimentan_w:20170407005545j:plain

 

すでに書式設置がないエディタで

指が覚えてしまっているので自動的に変更してほしくない。

そういった場合は多々あるとおもいます。

Macなんかは特にそういうとこあります。)

 

これで快適にプログラミングができるはず!

 

アンリアルエンジン のディレイ機能 および リトリガータブルディレイ機能

ディレイノードを使用すると

指定した時間ディレイ後 次のノードへ処理を移すことができる。

 

f:id:toncrimentan_w:20170405234908j:plain

 

リトリーガタブルディレイノー

こちらは最後にトリガーがあってから

ディレイのカウンティングを再カウントするもの。

 

わかりやすくこう

最後にAを押してから10秒後にプリントする例

f:id:toncrimentan_w:20170406000403j:plain