《游戏-02_3D-开发》之—基础框架与摄像机跟随

这篇具有很好参考价值的文章主要介绍了《游戏-02_3D-开发》之—基础框架与摄像机跟随。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

导入Xml文档,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

<?xml version="1.0" encoding="UTF-8"?>
<Root>
  <TalkInfo>
    <Item Idx="0" Title="见到公子" Msg="我叫粘贴,我们村叫粘家村,是这个村子的护卫,最近村子附近有倭寇出没,请勇士出手相助!_驱逐倭寇,责无旁贷!他们的位置在哪?_他们在城堡南面_等我的好消息吧!" FHead="2" SHead="1" Money="0" Objs="" Mission="0" />
    <Item Idx="1" Title="收取报酬" Msg="那帮倭寇已经被我干掉了!_感谢壮士,请问勇士尊姓大名?_在下爽!爽啊!_感谢爽壮士,这有黄金200两,请笑纳!_哈哈哈哈,这多不好意思啊!能再多点吗?" FHead="1" SHead="2" Money="200" Objs="" Mission="-1"/>
    <Item Idx="2" Title="见到爽" Msg="爽壮士,这段时间村子里有狼人出没。有很多人被狼人杀害了,就在昨天村东头的闲汉刘兴浩,就被狼人刀了。_放心吧,我是预言家,我能查出谁是狼人!_那就谢谢爽壮士了_不用客气,把钱准备好就行!!!" FHead="2" SHead="1"  Money="0" Objs="" Mission="1"/>
    <Item Idx="3" Title="感谢爽" Msg="狼人已经被我杀了!_爽壮士果然厉害!_哈哈哈,没说的,钱呢?_钱本来已经准备好了,但是昨天来了一个叫冯圣的女巫,把钱抢跑了!_敢抢我爽的钱,丫是不想活了,她现在在哪里?_她抢完钱就跑了,不知道跑到哪里去了!" FHead="1" SHead="2" Money="0" Objs="" Mission="2"/>
  </TalkInfo>
  <MissionInfo>
    <Item Idx="0" Title="消灭倭寇!" Msg="找到并消灭城堡南面的倭寇!" Exp="200" Money="330" Objs="幽华剑_幽华剑" TargetEnemy="TargetJapan" Mission="1"/>
    <Item Idx="1" Title="消灭狼人!" Msg="找到狼人,并消灭它。" Exp="200" Money="430" Objs="浮光剑_金丝甲" TargetEnemy="TargetWolf" Mission="-1"/>
    <Item Idx="2" Title="抢回黄金!" Msg="找到冯圣,夺回被抢走的黄金。" Exp="200" Money="500" Objs="腾云靴" TargetEnemy="" Mission="-1"/>
  </MissionInfo>
  <DrugInfo>
    <Item Idx="0" Name="大还丹" Type="Hp" Hp="100" Mp="0"  Msg="初级丹药"/>
    <Item Idx="1" Name="金光丹" Type="Hp" Hp="200" Mp="0"  Msg="中级丹药" />
    <Item Idx="2" Name="碧霞丹" Type="Hp" Hp="500" Mp="0"  Msg="0"/>
    <Item Idx="3" Name="幽云丹" Type="Hp" Hp="1000" Mp="0"  Msg="0"/>
    <Item Idx="4" Name="还魂丹" Type="Hp" Hp="2000" Mp="0"  Msg="0"/>
    <Item Idx="5" Name="人参" Type="Mp" Hp="0" Mp="100"  Msg="0"/>
    <Item Idx="6" Name="灵芝" Type="Mp" Hp="0" Mp="200"  Msg="0"/>
    <Item Idx="7" Name="育神花" Type="Mp" Hp="0" Mp="500"  Msg="0"/>
    <Item Idx="8" Name="流光草" Type="Mp" Hp="0" Mp="1000"  Msg="0"/>
    <Item Idx="9" Name="圣心丹" Type="Mp" Hp="0" Mp="2000"  Msg="0"/>
  </DrugInfo>
  <EquipInfo>
    <Item Idx="10" Name="青锋剑" Type="Weapon" Att="5" Def="0" Mdf="0"  Spd="0" Msg="0"/>
    <Item Idx="11" Name="幽华剑" Type="Weapon" Att="10" Def="0" Mdf="0"  Spd="0" Msg="0"/>
    <Item Idx="12" Name="寒霜剑" Type="Weapon" Att="20" Def="0" Mdf="0"  Spd="0" Msg="0"/>
    <Item Idx="13" Name="浮光剑" Type="Weapon" Att="30" Def="0" Mdf="0"  Spd="0" Msg="0"/>
    <Item Idx="14" Name="天一剑" Type="Weapon" Att="50" Def="0" Mdf="0"  Spd="0" Msg="0"/>
    <Item Idx="15" Name="皮甲" Type="Armor" Att="0" Def="0" Mdf="5"  Spd="0" Msg="0"/>
    <Item Idx="16" Name="青铜甲" Type="Armor" Att="0" Def="0" Mdf="10"  Spd="0" Msg="0"/>
    <Item Idx="17" Name="细纹甲" Type="Armor" Att="0" Def="0" Mdf="20"  Spd="0" Msg="0"/>
    <Item Idx="18" Name="金丝甲" Type="Armor" Att="0" Def="0" Mdf="30"  Spd="0" Msg="0"/>
    <Item Idx="19" Name="圣光甲" Type="Armor" Att="0" Def="0" Mdf="50"  Spd="0" Msg="0"/>
    <Item Idx="20" Name="战盔" Type="Helmet" Att="1" Def="1" Mdf="1"  Spd="0" Msg="精铁打造,威风凛凛。"/>
    <Item Idx="21" Name="朝天冠" Type="Helmet" Att="3" Def="3" Mdf="3"  Spd="0" Msg="此冠是著名锻造大师粘公子生前得意制作,坚固无比且冬凉夏暖无比销魂,带上它保你欲仙欲死!!!"/>
    <Item Idx="22" Name="紫玉冠" Type="Helmet" Att="5" Def="5" Mdf="5"  Spd="0" Msg="头盔正中镶嵌一个赤色宝玉,有提神醒脑之功效。"/>
    <Item Idx="23" Name="杀神盔" Type="Helmet" Att="10" Def="10" Mdf="10"  Spd="0" Msg="相传是战国杀神白起所用之盔 ,盔内蕴藏着白起的魂魄!"/>
    <Item Idx="24" Name="紫电盔" Type="Helmet" Att="20" Def="20" Mdf="20"  Spd="0" Msg="传说是盘古开天之时,混沌初开,空中闪电肆虐,盘古大展神通将闪电能量化作这个紫电盔!"/>
    <Item Idx="25" Name="棉靴" Type="Boots" Att="0" Def="0" Mdf="0"  Spd="2" Msg="采用新疆上等棉花制作,保暖透气,轻便舒适。"/>
    <Item Idx="26" Name="青云履" Type="Boots" Att="0" Def="0" Mdf="0"  Spd="4" Msg="附带轻身特性,穿上它使人身轻如燕。"/>
    <Item Idx="27" Name="腾云靴" Type="Boots" Att="0" Def="0" Mdf="0"  Spd="6" Msg="足踏此靴,有腾云驾雾之感。"/>
    <Item Idx="28" Name="掠影靴" Type="Boots" Att="0" Def="0" Mdf="0"  Spd="8" Msg="浮光掠影,岂是一个快字了得!出自锻造大师粘公子之手。"/>
    <Item Idx="29" Name="登天履" Type="Boots" Att="0" Def="0" Mdf="0"  Spd="20" Msg="一步登天,不过如此!"/>
    <Item Idx="30" Name="木盾" Type="Shield" Att="0" Def="5" Mdf="0"  Spd="0" Msg="木制简盾。"/>
    <Item Idx="31" Name="金刚盾" Type="Shield" Att="0" Def="10" Mdf="0"  Spd="0" Msg="不动金刚,立地为盾!"/>
    <Item Idx="32" Name="蓝晶盾" Type="Shield" Att="0" Def="20" Mdf="0"  Spd="0" Msg="采用稀有蓝晶矿石做成的盾,防御力超强!"/>
    <Item Idx="33" Name="四象盾" Type="Shield" Att="0" Def="30" Mdf="0"  Spd="0" Msg="传说集合上古四象之力做成的巨盾!"/>
    <Item Idx="34" Name="蚩尤盾" Type="Shield" Att="0" Def="50" Mdf="0"  Spd="0" Msg="传说盾牌之内融合这上古魔神蚩尤的魂魄!"/>
  </EquipInfo>
</Root>

在文件夹的Manager下新建脚本LoadManager,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

双击LoadManager.cs修改代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

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

public class LoadManager 
{
    public static AudioClip LoadAudio(string str) {
        AudioClip clip = Resources.Load<AudioClip>("Audio/" + str);
        return clip;
    }
    public static GameObject LoadGameObject(string str)
    {
        GameObject obj = Resources.Load<GameObject>("Prefab/" + str);
        return obj;
    }
    public static Sprite LoadSprite(string str)
    {
        Sprite sprite = Resources.Load<Sprite>("Pic/" + str);
        return sprite;
    }
    public static TextAsset LoadXml(string str)
    {
        TextAsset t = Resources.Load<TextAsset>("Xml/" + str);
        return t;
    }
}

在Manager文件夹下创建脚本GameManager,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

双击GameManager.cs修改代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

using System.Collections.Generic;
using System.Xml;
using Unity.VisualScripting;
using UnityEngine;
public enum GameState { Play, Menu };
public class GameManager{
    //当只需要一个的时候使用静态类
    public static GameState gameState = GameState.Play; 
    public static void Init()
    {
        //SetGoods();
    }
    public static T FindType<T>(Transform t, string n)
    {
        return t.Find(n).GetComponent<T>();
    }
    public static T ParseEnum<T>(string value)
    {
        return (T)System.Enum.Parse(typeof(T), value, true);
    }
}

在Manager文件夹下创建脚本MainGame,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

双击MainGame.cs修改代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

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

public class MainGame : MonoBehaviour
{
    public static Transform canvas;
    private void Awake()
    {
        GameManager.Init();
        canvas = transform;
    }
}

再在Scripts脚本文件夹下新建文件夹命名为:Living(活着的生物),

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

在Living创建基类People,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

双击People.cs修改代码:

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

public class People : MonoBehaviour{
    
}

再创建两个子类MyPlayer,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

双击MyPlayer.cs修改代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

第二个子类,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

双击Enemy.cs修改代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

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

public class Enemy : People
{
    
}

重新修改MainGame代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

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

public class MainGame : MonoBehaviour
{
    public static Transform canvas;
    public static MyPlayer player;
    private void Awake()
    {
        GameManager.Init();
        player = GameObject.Find("Player").GetComponent<MyPlayer>();    
        canvas = transform;
    }
}

接下来挂载脚本:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

新建脚本文件夹Data,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

新建脚本DataObject,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

写代码(数据类:为角色提供数据):

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

将DataObject脚本挂载到Player人物上,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

在脚本文件夹下创建SkillBase文件夹,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

新建SkillBase.cs

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

双击SkillBase.cs修改脚本:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
public enum SkillType { Up, Magic, Physics };

public class SkillBase : MonoBehaviour
{
    
}

修改People代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

using System.Collections.Generic;
using UnityEngine;
public class People : MonoBehaviour{
    //等价知识点:1 = 2
    //1.public int Num { get; }
    //------------------------------
    //2.int num;
    //  public int Num(){
    //      return num;
    //  }
    public DataObject data;
    public int Hp{
        protected set{ data.hp = value; }
        get{ return Mathf.Clamp(data.hp, 0, HpMax); }
    }
    public int HpMax{
        protected set{ data.hpMax = value; }
        get{ return data.hpMax + OffsetHp; }
    }
    public int Mp{
        protected set{ data.mp = value; }
        get{ return Mathf.Clamp(data.mp, 0, MpMax); }
    }
    public int MpMax{
        protected set{ data.mpMax = value; }
        get{ return data.mpMax + OffsetMp; }
    }
    public float Spd{
        protected set{ data.spd = value; }
        get{ return data.spd + OffsetSpd; }
    }
    public int Att{
        protected set{ data.att = value; }
        get{ return (int)(data.att * GetRandomRate()) + OffsetAtt; }
    }
    public int Def{
        protected set{ data.def = value; }
        get{ return data.def + OffsetDef; }
    }
    public int Mdf{
        protected set{ data.mdf = value; }
        get{ return data.mdf + OffsetMdf; }
    }
    public int lv{
        protected set => data.lv = value;
        get => data.lv;
    }
    public int Exp { set; get; }
    public bool IsDeath { set; get; }
    public People Target { get; set; }
    public Animator Anim { get; set; }
    protected int OffsetHp { set; get; }
    protected int OffsetMp { set; get; }
    protected int OffsetSpd { set; get; }
    protected int OffsetAtt { set; get; }
    protected int OffsetDef { set; get; }
    protected int OffsetMdf { set; get; }
    public Transform attPoint;
    public delegate void Fun(People p);
    protected event Fun Dead;
    protected Dictionary<int, SkillBase> skills = new Dictionary<int, SkillBase>();
    #region 初始化
    protected virtual void InitValue(){
        Anim = GetComponent<Animator>();
        data = GetComponent<DataObject>();
        Dead = Death;
    }
    protected virtual void InitSkill(){

    }
    #endregion

    #region 事件
    public void AddEventHandle(Fun funback){
        Dead += funback;
    }
    public void RemoveEventHandle(Fun funback){
        Dead -= funback;
    }
    protected virtual void Death(People p){
        IsDeath = true;
        Anim.SetTrigger("IsDeath");
        p.Victory(this);
        Invoke("Over", 5);
    }
    protected virtual void Victory(People p){

    }
    protected void Over(){
        print("over");
    }
    #endregion

    #region 战斗伤害
    protected float GetRandomRate(){
        return (Random.Range(-data.randomAtk, data.randomAtk + 1) + 100) * 0.01f;
    }

    public virtual void BePhysicsHit(int value, People p){
        if (IsDeath)
            return;
        Hp -= value - Def;
        UpdateUI();
        if (Hp <= 0)
            Dead(p);
    }
    public virtual void BeMagicHit(int value, People p){
        if (IsDeath)
            return;
        Hp -= value - Mdf;
        UpdateUI();
        if (Hp <= 0)
            Dead(p);
    }
    #endregion
    #region Hp/Mp
    public virtual void AddHp(int value){
        Hp += value;
        UpdateUI();
    }
    public virtual void AddMp(int value){
        Mp += value;
        UpdateUI();
    }
    public float GetHpRation(){
        return (float)Hp / HpMax;
    }
    #endregion
    protected void Start(){
        InitSkill();
        InitValue();
    }
    protected virtual void UpdateUI(){

    }
}

修改MyPlayer脚本代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

using UnityEngine;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;
    new void Start(){
        base.Start();
    }
    private void Update(){

    }
}
在Living脚本文件夹下新建脚本CameraCtrl,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

双击CameraCtrl.cs修改代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

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

public class CameraCtrl : MonoBehaviour
{
    public float dis;
    public float height;
    public float speed;
    Transform target;
    Vector3 targetPos;
    // Start is called before the first frame update
    void Start()
    {
        target = MainGame.player.transform;
    }

    // Update is called once per frame
    void Update()
    {
        transform.LookAt(target.position + Vector3.up * 1.5f);
        targetPos = target.forward * (-dis) + target.up * height + target.position;
    }
    private void LateUpdate()
    {
        transform.position = Vector3.Lerp(transform.position, targetPos, speed);
    }
}

更新MyPlayer代码:

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

using UnityEngine;
using UnityEngine.UI;
public class MyPlayer : People{
    [Header("==============子类变量==============")]
    public Transform toolPanel;
    public Transform skillPanel;
    CharacterController contro;
    float rvalue;
    float spdFast = 1;
    bool isHold;
    GameObject sword;
    GameObject swordBack;
    public Image imageHp;
    public Image imageMp;

    new void Start(){
        base.Start();
    }
    void Update(){

    }
}
再将CameraCtrl摄像机跟随代码挂载在Camera摄像机上,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

调节CameraCtrl数值,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

运行即完成,

《游戏-02_3D-开发》之—基础框架与摄像机跟随,3D游戏,c#,1024程序员节

End.文章来源地址https://www.toymoban.com/news/detail-823492.html

到了这里,关于《游戏-02_3D-开发》之—基础框架与摄像机跟随的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ae 效果详解:3D 摄像机跟踪器

    Ae菜单:效果/透视/3D 摄像机跟踪器 Effects/Perspective/3D Camera Tracker 使用 3D 摄像机跟踪器 3D Camera Tracker效果可自动分析视频,以便提取摄像机运动和 3D 场景数据。然后,可以在 2D 素材的基础上正确合成 3D 元素。 提示: 3D 摄像机跟踪器效果使用后台进程执行分析。 在分析正在

    2024年02月09日
    浏览(40)
  • 【Overload游戏引擎细节分析】鼠标键盘控制摄像机原理

    在上文中分析了摄像机类的实现,在计算投影视图矩阵时需要给摄像机输入其位置及转动四元数。这两个量一般通过鼠标键盘来控制,从而达到控制摄像机的目的。本文分析一下其控制原理。 Overload的摄像机控制实现在类CameraController中,其有三个个方法HandleCameraPanning、Hand

    2024年02月08日
    浏览(44)
  • UE5回合制游戏【2-摄像机控制】(蓝图版)

    上一篇文章完成了一些基础的设置,这篇文章主要来设置一下摄像机。 摄像机的控制主要有鼠标滚轮控制缩放,WASD键控制前后左右移动,QE键控制左右旋转。 首先打开BP_Pawn,然后添加Spring和Camera组件。 层级关系如下图 我们把摄像机放到弹簧臂下面,这样摄像机就能跟着弹

    2024年02月03日
    浏览(49)
  • 【Overload游戏引擎细节分析】视图投影矩阵计算与摄像机

    本文只罗列公式,不做具体的推导。 OpenGL本身没有摄像机(Camera)的概念,但我们为了产品上的需求与编程上的方便,一般会抽象一个摄像机组件。摄像机类似于人眼,可以建立一个本地坐标系。相机的位置是坐标原点,摄像机的朝向Forward是摄像机看的方向,再给定向上的Up轴

    2024年02月07日
    浏览(43)
  • Unity3D:Scene 视图摄像机

    推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 摄像机设置菜单包含用于配置 Scene 视图摄像机的选项。这些调整不会影响带有摄像机组件的游戏对象上的设置。 要访问摄像机设置菜单,请单击 Scene 视图工具栏中的摄像机图标。 Scene 视图工具栏的上下

    2024年02月10日
    浏览(51)
  • Unity 3D 人物移动朝向跟随摄像机(第一人称)

    以人物身体旋转控制镜头左右滑动 以摄像机旋转控制镜头上下滑动 首先我们要知道 摄像机是作为人物的子物体的(充当眼睛) 所以当人物旋转时 摄像机会跟随它朝相同的方向旋转相同的角度 从而达到 眼睛(摄像机)注视的方向一定是人物的正前方 那么这样做有什么好处

    2024年02月21日
    浏览(54)
  • 【UE4 RTS游戏】03-摄像机运动_旋转视角

    可以通过WASD控制“CameraPawn”的移动;通过鼠标中键旋转视角;通过alt+鼠标中键将视角回归默认值;通过shift加速移动。 打开“CameraPawnController”,给如下节点添加注释,命名为“MovementX” 接下来开始开始编辑“MovementY”相关的逻辑 首先从“MovementX”中复制一些节点 新建一

    2024年02月15日
    浏览(33)
  • unity3d中多个摄像机切换代码

    2024年02月11日
    浏览(49)
  • Unity制作射击游戏案例01(控制角色+发射子弹+摄像机跟踪)

    //【业务逻辑】这个脚本用来1.控制物体移动旋转(WASD)、   2.发射子弹(空格键) //【程序逻辑2】 首先检测用户没有按下空格键 2.如果按下呢执行发射子弹函数    3.克隆子弹 4.让克隆的子弹往前跑 为子弹模板添加刚体,并且限制旋转 这个脚本需要挂在到摄像机,里面谈

    2024年02月06日
    浏览(56)
  • 了解 3DS MAX 3D摄像机跟踪设置:第 7 部分

    推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景   步骤 1 打开 SynthEyes 软件。 打开合成之眼 步骤 2 在跟踪素材之前,您需要设置首选项。因为,你 稍后将在  3ds  Max 中工作,必须根据  3ds Max  设置首选项。 转到 编辑编辑首选项 。 转到编辑编辑首选项 步骤

    2024年02月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包