UNITY初学者学习重要的环节

一,先开始下载完游戏引擎就可以学摄像机在游戏模式下移动,然后学键盘绑定调用,设计,。然后就开始学动画控制器,和角色移动,物体动画制作,胶囊移动,人模型移动,动画控制器命名参设置,和键盘,就可以可是设计不同的动画了走,移动跑步,跳跃,开枪等,技能与开枪射击,。。我觉得另一个初学者单人业余爱好者应该首选设计好一个游戏环境,无论城市和区域在开始简单动画,UI设计,开始菜单,任务模板,完成条件,剧情。

Unity自学概念

从unity自带的项目third第三人称模板开始学了动画移动代码解释汉化,

Unity引擎 打开pakagemanager,注册表INPUT SESTEM 输入系统自带的模板导入有简单的移动加速,发射物体,Q键举起空格仍的功能可以借鉴,cimenecam模板有时空门传送门功能,timelilne有动画模拟播放效果转换,

自带的迷你fps游戏有完整的射击 AI掉生命值,加生命值物, 碰撞功能,AI 追击攻击,功能,ui开始功能

动画功能学习风扇转动动画animation新建后调整风扇旋转坐标实现风扇旋转,.门动画新建后旋转80度实现,,,昼夜,灯效新建后改变INTENSITY强度 和coler颜色功能在动画Animation中实现

人物移动animatorContorller中Parameters 新建FLOAT参功能移动,跳跃新建Tigger参

代码主要还是借鉴unity自带带的Starterassets Thirdperscontroller项目模板使用增加改进取一样的名动画文件名实现.

UI界面设计人与任务UI合并显示UicanvasUI屏幕选择SCREEN SPACE_CAMERA,然后缩放调整前后位置大小,

屏幕空间 - 相机

在此模式下,Canvas 的渲染就像绘制在给定摄像机前方一定距离的平面对象上一样。UI 的屏幕大小不随距离而变化,因为它始终会重新缩放以完全适合摄像机视锥体。如果屏幕的大小或分辨率或相机视锥体发生更改,则 UI 将自动重新缩放以适应。任何3D 对象
在场景中,比 UI 平面更靠近摄像机的平面将在 UI 前面渲染,而平面后面的物体将被遮挡。

相机模式 UI,场景对象位于前面

Canvas Scaler

Canvas Scaler (画布缩放器) 组件用于控制整体缩放和像素
密度用户界面
Canvas 中的元素。此缩放会影响 Canvas 下的所有内容,包括字体大小和图像边框。

Properties

Property:

Function:

UI Scale Mode

D了解 Canvas 中 UI 元素的缩放方式。

        Constant Pixel Size

使 UI 元素保持相同的像素大小,而不管屏幕大小如何。

        Scale With Screen Size

屏幕越大,UI 元素就越大。

        Constant Physical Size

使 UI 元素保持相同的物理大小,

而不管屏幕大小和分辨率如何。

Constant Pixel Size 的设置:

Property:

Function:

Scale Factor

按此系数缩放 Canvas 中的所有 UI 元素。

Reference Pixels Per Unit

如果精灵
具有此“Pixels Per Unit”设置,则 Sprite 中的一个像素将覆盖

 UI 中的一个单元.

Scale With Screen Size 的设置:

属性:

功能:

Reference Resolution

UI 布局设计的目标分辨率。如果屏幕分辨率较大,

则 UI 会放大,如果较小,则 UI 会缩小。

Screen Match Mode

在当前分辨率的宽高比不适应参考分辨率时,

用于缩放画布区域的模式。

        Match Width or Height

以宽度、高度或二者的某种平均值作为参考来缩放画布区域。

        Expand

水平或垂直扩展画布区域,使画布不会小于参考。

        Shrink

水平或垂直裁剪画布区域,使画布不会大于参考。

Match

确定是否以宽度、高度或二者的某种平均值作为参考进行缩放。

Reference Pixels Per Unit

如果精灵具有此“Pixels Per Unit”设置,则精灵中的每个像素将覆盖 UI 中的一个单位。

Constant Physical Size 的设置:

属性:

功能:

Physical Unit

用于指定位置和大小的物理单位。

Fallback Screen DPI

在屏幕 DPI 未知时采用的 DPI。

Default Sprite DPI

用于精灵的每英寸像素,使其“Pixels Per Unit”设置与“

Reference Pixels Per Unit”设置匹配。

Reference Pixels Per Unit

如果精灵具有此“Pixels Per Unit”设置,则其 DPI

将与“Default Sprite DPI”设置匹配。

World Space Canvas 的设置(画布 (Canvas) 组件设置为 World Space 时显示):

属性:

功能:

Dynamic Pixels Per Unit

用于 UI 中动态创建的位图(如文本)的每单位像素量。

Reference Pixels Per Unit

如果精灵具有此“Pixels Per Unit”设置,则精灵中的每个像素

将覆盖世界中的一个单位。如果“Reference Pixels Per

Unit”设置为 1,则精灵中的“Pixels Per Unit”设置将按原样使用。

详细信息

对于设置为“Screen Space - Overlay”或“Screen Space - Camera”的画布,画布缩放器 UI Scale Mode 可以设置为 Constant Pixel Size、Scale With Screen Size 或 Constant Physical Size。

Constant Pixel Size

使用 Constant Pixel Size 模式时,可在屏幕上按像素指定 UI 元素的位置和大小。这也是画布在未Scale With Screen Size

使用 Scale With Screen Size 模式时,可以根据指定参考分辨率的像素来指定位置和大小。如果当前屏幕分辨率大于参考分辨率,则画布会保持只具有参考分辨率的分辨率,但是会放大以便适应屏幕。如果当前屏幕分辨率小于参考分辨率,则画布会相应缩小以适应屏幕。

如果当前屏幕分辨率的宽高比与参考分辨率不同,则单独缩放每个轴以适应屏幕会形成非一致缩放,通常不希望发生这种情况。相反,ReferenceResolution 组件会使画布分辨率偏离参考分辨率,以便遵循屏幕的宽高比。可以使用 Screen Match Mode 设置控制此偏离的行为方式。

Constant Physical Size

使用 Constant Physical Size 模式时,可按物理单位(如毫米、点或派卡)指定 UI 元素的位置和大小。此模式要求设备正确报告其屏幕 DPI。对于不报告 DPI 的设备,可以指定回退 DPI。

World Space

对于设置为“World Space”的画布,可以使用画布缩放器来控制画布中 UI 元素的像素密度。

Ui与输入控制器条用规则

        [Header(" PlayerWeaponsManager ")]

[Header(")]代码第一行生成标签名

        [Tooltip("这段代码的主要功能是管理玩家在第一人称射击游戏中使用的武器。它处理武器的添加、移除、切换,同时实现了武器晃动、后坐力和准心动画等效果,使得玩家在游戏中的射击体验更加真实和流畅。")]

AI敌人自动寻路导航循环路径waypoint设置先在场景中定位几个坐标置防止一个球体模型,写代码然后用AI敌人模型制作一个动画移动加各种动作和移动到坐标动画调整动画的时间正确和移动步伐速度同步.然后用Animation动画新建后制作animator控制器挂上后放在场景中测试然后更改动画坐标动画完善完整的显示正确的动画效果位置为止.

触发门门动画开门 ,关门,写代码

设置动画控制器Parameters open名Trigger和close名trigger.然后场景中设置一个空游戏对象挂boxcollider,doorAnimator代码设置,好场景位置后实验.

[Tooltip(“”)] 代码生成解释文本在unity设置层

[Range(0, 1)] [Tooltip("Multiplier to apply to self damage:这是用于在对象受到自身伤害时调整伤害值的公共变量,范围限定在0到1之间。默认值为0.5,意味着如果对象受到自身伤害,伤害值将减半")]

[Range(0, 1)] 代码生成滑动条

  1. [CustomEditor(typeof(Damageable))]:
    • 这个属性告诉Unity编辑器,这个自定义编辑器类(DamageableEditor)是用于编辑Damageable类的。

[System.Serializable]//属性使得这个结构体可以被Unity的编辑器序列化,允许在Unity编辑器中直接创建和修改这个结构体的实例。

  • [CustomEditor(typeof(TESTUI), true)]: 这是一个属性标记,用于指定 TESTUIEditor 是 TESTUI 类的自定义编辑器。true 参数表示这个编辑器会继承默认的 GraphicEditor 编辑器的所有功能。
  • [CanEditMultipleObjects]: 这个属性标记表示这个编辑器可以同时编辑多个选中对象,只要这些对象都有 TESTUI 脚本附加。
  • 使用[MenuItem("Tools/Asset Store/Uploader", false, 0)]等属性定义了一系列编辑器菜单项,这些菜单项出现在Unity编辑器的“Tools”菜单下的“Asset Store”子菜单中。
  • [Header("UI")]:在Unity编辑器中创建一个标题为“UI”的分组。
  • [Space(10)]:在Unity编辑器中为这个分组添加一些额外的空间。
  • [SerializeField]:确保这个成员变量在Unity编辑器中可见,即使它是public或private的。
  • public GameObject testUI;:一个游戏对象引用,用于表示你的UI界面。
  • public Button btn;:一个按钮组件引用,用于处理按钮点击事件。
  • public Text txt;:一个文本组件引用,用于显示文本内容。

   [ExecuteInEditMode]//确保SceneObjectGuid组件的行为在编辑模式下也能得到执行,而不仅仅是在播放模式下。

   [DisallowMultipleComponent]//防止同一个GameObject上被多次附加SceneObjectGuid组件,确保每个GameObject只有一个这样的组件。

   [AddComponentMenu("")]//将SceneObjectGuid组件从Unity编辑器的“Add Component”菜单中移除,这意味着开发者不能通过编辑器界面直接添加这个组件,需要通过脚本或手动操作来添加。

[NonSerialized]//表示这个字段不会被序列化,但是可以在运行时进行设置和使用。

//功能[HideInInspector] 使得这个字段在 Inspector 面板中不可见。

//功能 [ReadOnly]//[ReadOnly] 确保在 Inspector 面板中该字段不可编辑。[Tooltip] 提供了字段的简短描述。

  • [SerializeField]//是一个 Unity 提供的属性标签,通常用于标记私有字段,使其在 Unity 编辑器的 Inspector 窗口中可见。[CreateAssetMenu]标记允许你在Unity编辑器的“Assets”菜单下创建这个ScriptableObject实例。
  • class PublishCriteria : ScriptableObject
  • PublishCriteria类继承自ScriptableObject,这意味着它可以作为Unity中的数据容器使用。

  • List<AmmoCounter> m_AmmoCounters = new List<AmmoCounter>();:一个私有的List<AmmoCounter>字段,用于存储当前所有武器的弹药计数器。

【电动汽车充电站有序充电调度的分散式优化】基于蒙特卡诺和拉格朗日的电动汽车优化调度(分时电价调度)(Matlab代码实现)内容概要:本文介绍了基于蒙特卡洛和拉格朗日方法的电动汽车充电站有序充电调度优化方案,重点在于采用分散式优化策略应对分时电价机制下的充电需求管理。通过构建数学模型,结合不确定性因素如用户充电行为和电网负荷波动,利用蒙特卡洛模拟生成大量场景,并运用拉格朗日松弛法对复杂问题进行分解求解,从而实现全局最优或近似最优的充电调度计划。该方法有效降低了电网峰值负荷压力,提升了充电站运营效率与经济效益,同时兼顾用户充电便利性。 适合人群:具备一定电力系统、优化算法和Matlab编程基础的高校研究生、科研人员及从事智能电网、电动汽车相关领域的工程技术人员。 使用场景及目标:①应用于电动汽车充电站的日常运营管理,优化充电负荷分布;②服务于城市智能交通系统规划,提升电网与交通系统的协同水平;③作为学术研究案例,用于验证分散式优化算法在复杂能源系统中的有效性。 阅读建议:建议读者结合Matlab代码实现部分,深入理解蒙特卡洛模拟与拉格朗日松弛法的具体实施步骤,重点关注场景生成、约束处理与迭代收敛过程,以便在实际项目中灵活应用与改进。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值