「3DCG」カテゴリーアーカイブ

Mayaのインストールシリアル番号の件

大事なお知らせ

どうも最近のMayaはシリアル番号を入力しないようです。古いインストールガイドなどもシリアル番号を入力するように書いていますが、実際には起動時にAutodesk IDでログインするみたいです。その他公式ガイドの差異を掲載します。

 

変更点(1)

本学の学生は、アカウント作成中か作成後のタイミングで大学SSO(シングルサインオンシステム)が利用されるようです。この認証(IDとパスワードチェック)自体は大学のサーバでおこない、認証されたかどうか(学生かどうか)の情報がAutodeskに行きます。(一般的なSSO)

変更点(2)

Maya2018の場合、インストール後に起動すると以下のような画面が表示されます。「サイン イン」をクリックし、Autodesk IDでサインインしてください。

Maya2020の場合は以下のような画面が表示されます。

この変更により、シリアル番号は表示されないメールで送信されないといったことがおきています。ので、パスワード、IDは忘れないようにしましょう。

 

その他

「無料体験版」と「無料学生版」は最初のサインイン関係の挙動が違うようです。必ず「学生版」をダウンロードしてください。確認のポイント「残り日数」が表示されていれば「体験版」です。 コントロールパネル>プログラム>プログラムのアンインストール で一度Mayaを削除したあと、再度ダウンロードしてインストールしてください。

 

Mayaをもう一度ダウンロードする

https://www.autodesk.co.jp/education/home

へ行き、サインインする

サインイン後に、右上の地球のアイコンの左側のアイコンをクリック(名前の一部が表示されているアイコンなので、各自アイコンの文字は異なります)

プルダウンが表示されるので、製品とサービスをクリック

Mayaが表示されていると思うので、ダウンロードを表示をクリック

 

※こちらのアカウントの関係で学生アカウント作成を試せなかったのですが、いろいろ情報いただいた皆様ありがとうございました

ポリゴンモデリング覚え書き1

ポリゴンモデリング覚え書き1

 

スナップにON

  • グリッドにスナップON

グリッドの間隔編集

  • ディスプレイ>グリッド>□
  • 軸=X,Z軸
  • グリッドライン5なら5ユニット単位に線がひかれる
  • サブディビジョン グリッドラインの再分割数 グリッド5,サブ5なら、1ユニット単位の補助線が、グリッド5,サブ10なら0.5ユニット単位の補助線となる

カメラベース選択

  • 選択ツールをダブルクリックして設定画面を出す

複数オブジェクトをスナップ移動する

  • ロケーターに入れる

コンポーネント間を維持してスナップ(デフォルト)

  • コンポーネント間を維持をOFFにすると揃える時に便利

押し出し

  • フェースを選択し、押し出す。分割数も変えることができる

エッジループの挿入

  • メッシュツール>エッジループの挿入

ベベル

  • エッジに対して面取り

ブーリアン

  • オブジェクトの足し算引き算

ベンド(曲げ)

  • オブジェクトを曲げる

ヒストリを削除

フリーズ(回転や移動後の値を基準値にする)

ポリゴンリダクション

  • ポリゴン数を減らす

結合(※マージはコンポーネントで使う)

複数のオブジェクトを選択し メッシュ>結合

ラティス

  • デフォーム>ラティス でラティス作成し、ラティスポイントの選択で変形

クイック選択

  • 作成>セット>クイック選択セット

 

バーチャルYoutuberになりたい

ふとバーチャルYoutuberのアプリを作りたくなったのでリソースを探すけど,詳しい説明が無かったのでメモ

必用なもの

iPhoneX以降,Unity2018.2以降,XCODE

 

Unity Packageを以下からダウンロードしインストール

https://github.com/Unity-Technologies/facial-ar-remote/releases

新規Unityプロジェクトを立ち上げる

 

【ビルドの設定】

  1. UnityをiOSビルドに変更
  2. faical-ar-remote>Remote>Scene>Clientを起動
  3. File>Build Settings>Player Settingsを起動
  4. other settingsのBundle Identifierを設定
  5. Target minimum iOS version を11.3以上にする
  6. Camera Usage Description に AR Face Tracking と入力
  7. Requires ARKit にチェックを入れる
  8. Scripting Define Symbols に ARKIT_1_5 と入力

 

【まずiPhoneアプリを作成】

  1. final-ar-remote>Remote>Scene>Clientを開いているか確認
  2. ビルドし,XCODEでアプリ化しデバイスにインストール
  3. 作成されたアプリを起動

【サンプルシーンを開いて確認】

  1. iPhoneとMacが同じルータ内に接続されているか確認
  2. final-ar-remote>Examples>Scenes>SlothBlendShapesを開く
  3. SlothBlendShapesのHierarchyのStreamReaderのInspectorのNetworkStreamのPortをiphoneアプリにポートと同じにする
  4. 再生ボタンをクリック
  5. ConsoleにIPアドレスが出る(2つIPアドレスが出る時はWifiと有線LANが見えているのでどちらか切るといいかも)
  6. iPhoneのアプリにConsoleに表示されたIPアドレスを入力
  7. iPhoneのアプリでConnectを押す

 

facialが動きます.お疲れ様でした.

 

参考サイト

https://github.com/Unity-Technologies/facial-ar-remote

https://blogs.unity3d.com/jp/2018/08/13/facial-ar-remote-animating-with-ar/

https://qiita.com/Yuzu_Unity/items/91fc2b6f8ebe0fc0e839

https://qiita.com/syoyo/items/f0ad3eb4ed3387ee6462

 

 

 

取得してSE再生,壁に当たってSE再生

スクリプトのみ

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class destroy_SE : MonoBehaviour
{
    public AudioClip impact;//音のファイル読み込み
    public AudioClip wallhit;
 
    AudioSource audioSource;//音の再生装置
 
    private void Start()
    {
        audioSource = GetComponent<AudioSource>();
    }
 
    //当たって消すパタン
    private void OnTriggerEnter(Collider other)
    {
 
        if(other.gameObject.tag == "wall")//タグがwallなら
        {
            //audioSource.PlayOneShot(wallhit, 0.7F);//impactを音量0.7で再生
 
        }
        else
        {
            Destroy(other.gameObject);
            audioSource.PlayOneShot(impact, 0.7F);//impactを音量0.7で再生
        }
        
 
        //点数を加算
 
 
 
        //加算した点数をUIに反映
 
    }
    //壁
    private void OnCollisionEnter(Collision collision)
    {
        if (collision.gameObject.tag == "wall")//タグがcollision なら
        {
            audioSource.PlayOneShot(wallhit, 0.7F);//wallhitを音量0.7で再生
 
        }
    }
 
}

 

はじめてのUnity2019−変更箇所

はじめてのUnityのチュートリアルサイト変更に伴い,取りこぼしている点について補足します.

変更後のサイト−>https://learn.unity.com/project/yu-zhuan-gashi?language=ja

 

この後の作業は以下の通りです

UIを作成>UI用のスクリプトを作成>ゲーム実行

続きを読む はじめてのUnity2019−変更箇所

Maya->Unity2019(4)

 

スクリプトの適用

chair.csは削除します.スクリプトを選択し,chairの歯車のアイコンからremove componentを選択して削除します.

 

次に,回転に対応したスクリプトを作成する.ファイル名はmove1.cs

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

[RequireComponent(typeof(CharacterController))]
public class move1 : MonoBehaviour
{

	public float speed = 3.0F;
	public float rotateSpeed = 3.0F;
	public float gravity = 10f;
	public float jumpPower = 5;

	private Vector3 moveDirection;
	private CharacterController controller;

	void Start()
	{

		// コンポーネントの取得
		controller = GetComponent<CharacterController>();//キャラクターコントローラを取得し,変数contorllerに収納

	}

	void Update()
	{

		if (controller.isGrounded)//接地していれば
		{

			// 回転
			transform.Rotate(0, Input.GetAxis("Horizontal") * rotateSpeed, 0);

			// キャラクターのローカル空間での方向
			moveDirection = transform.transform.forward * speed * Input.GetAxis("Vertical");

			// ジャンプ
			if (Input.GetButtonDown("Jump")) moveDirection.y = jumpPower;

		}
		else
		{

			// ジャンプ落下
			moveDirection.y -= gravity * Time.deltaTime;

		}

		//移動させる
		controller.Move(moveDirection * Time.deltaTime);

	}

}

 

このスクリプトをイスのモデルにアサインします.

 

Maya->Unity2019(3)

Animation Controllerの設定

  1. Assets>Create>AnimationControllerAnimationControllerを作成する.名前は何でもかまわない
  2. 作成したAnimationControllerをダブルクリックする
  3. Animation Controller画面が開かれる
  4. アセット内のイスの中にTake001というアニメーションファイルが入っているので,Animation Controllerにドロップする(勝手にEntryと接続される)
  5. ChairのAnimator作成したAnimation Controllerを入れる
  6. その際,Apply Rootmotionにチェックを入れること
  7. 再生してみる

Maya->Unity2019(2)

スクリプトを作成する

 

  1. キャラクタを操作するスクリプトを作成します
  2. アセット内で右クリック>Create>C# Scriptを選択
  3. ファイル名は chair にする
  4. 作成されたスクリプトを開く(Visual Studioなどが開く)
  5. 全部を以下に入れ替え,保存する
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class chair : MonoBehaviour
{
    CharacterController characterController;

    public float speed = 2f;
    public float jumpSpeed = 3f;
    public float gravity = 9.8f;

    private Vector3 moveDirection = Vector3.zero;

    void Start()
    {
        characterController = GetComponent<CharacterController>();
    }

    void Update()
    {
        if (characterController.isGrounded)
        {
            moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0.0f, Input.GetAxis("Vertical"));
            moveDirection *= speed;

            if (Input.GetKey(KeyCode.Space))
            {
                moveDirection.y = jumpSpeed;
            }

        }
        moveDirection.y -= gravity * Time.deltaTime;
        characterController.Move(moveDirection * Time.deltaTime);
    }
}
  1. 椅子を選び,Add ComponentからCharacter Controllerを探し出し追加する
  2. Character Controllerの設定項目でCollider(衝突用簡易オブジェクト)の大きさを調整し,床面にめり込まないようにする(緑色のカプセルの大きさを調整する)
  3. 先ほど作成したchairのスクリプトも椅子に追加する

つぎへ

Maya->Unity2019(1)

 

以下も参考に

FBX Exporterが見つからないとき−>ここ

2018バージョン(IKを使用している場合)−>ここ

 

Maya→FBXに出力

Mayaで作成したファイルをUnityに読み込むには,FBXへの出力を選択し、FBX形式のファイルで出力し,それをUnity側で読み込みます.

 

今回はFKで作成したアニメーションを書き出します.IKを使った場合は別の方法となりますので,注意してください

  1. 椅子の最上位の階層を選択します
  2. ファイル>選択項目の書き出しのオプション□を選択します
  3. 選択項目の書き出しオプションが表示されるので,ファイルタイプをFBX exportにし,選択項目の書き出しをクリック
  4. 現在のプリセットがAutodesk Media Entertainment になっていることを確認し,ファイル名をつけて保存する
  5. ファイル拡張子が.fbxになっていることを確認する
  6. 保存したファイルをUnityに読み込む
  7. 読み込んだファイルを選択し,InspectorのModelのタブを選択
  8. Scale Factorを100にし,Applyをクリック
  9. つづいてAnimationのタブを選択し,アニメーションが再生されるか確認する
  10. Loop Timeにチェックを入れ,Applyをクリックしておくこと
  11. Planeなどを作成し,その上に椅子を配置してみる
    椅子の木目が消えていますが,次のステップで読み込みます

 

Mayaのテクスチャを書き出す

  1. Mayaに戻り,椅子の座面オブジェクトと,ハイパーシェードの適用したマテリアル両方を選択する
  2. 編集>ファイルテクスチャに変換□を選択
  3. X,Y解像度を512に,ファイルフォーマットをPNGにし,保存して閉じる
  4. これによって作成されたテクスチャ画像は,MayaプロジェクトフォルダのSourceimageフォルダに入っているので,これをUnityに読みこむ
  5. アセット内で右クリック>Create>Materialで,マテリアルを作成
  6. Albedoの隣に読み込んだテクスチャをドロップする
  7. 作成したマテリアルを椅子の座面にアサインする
  8. 椅子の座面が木目になりました

つぎ

Oculus Quest開発メモ

Oculus Quest 開発メモ

https://qiita.com/pira/items/1c935f30d5ba6c020333

https://framesynthesis.jp/tech/unity/oculusquest/

https://qiita.com/pira/items/1c935f30d5ba6c020333

 

細かい部分はGoの解説でも網羅できる.

MacにOculus接続時=開発者モードをONにするとつながる

つながった後は開発者モードONでいいらしい

OVRPlugin.aar” is denied.

てエラー出る(ビルドはできるけどapk表示されない)

Reveal in FinderでFinderでそのファイルを見つけ,拡張子を.aarから.bakにする

Oculusを接続したまま,Build & Run する

実行される.