发际线

发现,记录,分享


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 友链

  • 搜索

Unity学习笔记(六)

发表于 2022-04-25 | 分类于 游戏开发 | 评论数:
本文字数: 8k | 阅读时长 ≈ 13 分钟

实例的处理

动态创建实例

创建 Prefab 之后,用 API 动态创建实例

  1. 准备子弹 prefab ,参考 制作演示

  2. 添加火控脚本 FireLogic.cs,添加变量,克隆实例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    // 添加prefab变量
    public GameObject bulletPrefab;
    void Update()
    {
    if (Input.GetMouseButtonDown(0))
    {
    TestFire();
    }
    }

    private void TestFire()
    {
    Debug.Log("创建子弹实例....");
    // 创建实例,传入实例变量和父节点
    GameObject node = Object.Instantiate(bulletPrefab, null);
    // 初始化位置和角度
    node.transform.position = Vector3.zero;
    node.transform.eulerAngles = Vector3.zero;
    }
  3. 在检查器中,引用子弹的 prefab

  4. 运行游戏,鼠标每点击一下创建一个新的prefab
阅读全文 »

Unity学习笔记(五)

发表于 2022-04-23 | 分类于 游戏开发 | 评论数:
本文字数: 9.6k | 阅读时长 ≈ 16 分钟

资源的访问

资源的使用

在脚本中,也可以引用一个资源。比如

  • AudioClip ,音频文件
  • Texture,纹理贴图
  • Material ,材质

使用步骤:

  1. 准备音效文件,预览
  2. 添加脚本 AudioTest.cs。其中添加资源 public AudioClip audioSuccess;
  3. 引用音频资源
  4. 使用 API 播放音频 AudioSource.PlayOneShot( clip ); ,用于播放音效
阅读全文 »

Unity学习笔记(四)

发表于 2022-04-19 | 分类于 游戏开发 | 评论数:
本文字数: 12k | 阅读时长 ≈ 20 分钟

脚本参数

参数的基本用法

脚本的参数,用于控制脚本组件的功能
修改 SimpleLogic.cs ,在SimpleLogic类中添加一个参数

1
public float rotateSpeed = 30f;

参数的用法:

  1. 参数必须为 public ,才可以在检查器中显示

  2. 参数的名称,即变量名。如变量名 rotateSpeed 会自动在检查器中更新为 Rotate Speed

  3. 参数的默认值,即变量的默认值
    可以用 Reset 菜单重置

  4. 参数的工具提示(注解),可以用 [Tooltip("comment")]指定

    1
    [ Tooltip("这个参数是角速度") ]

image-20220501233848642

参数的赋值

  1. 定义默认值

    1
    public float rotateSpeed = 30f ; // 初始化参数,并设置默认值
  2. 在检查器中赋值

    1
    script.rotateSpeed = 180f;  //由 Unity 框架对参数赋值
  3. 在 Awake 中初始化

  4. 在 Start 中初始化

注意:start()方法最后执行,所以最终以start()方法中的设定值为准。

阅读全文 »

Unity学习笔记(三)

发表于 2022-04-18 | 分类于 游戏开发 | 评论数:
本文字数: 7.7k | 阅读时长 ≈ 13 分钟

帧

帧更新

帧相关概念:

Frame ,一个游戏帧
FrameRate ,帧率 / 刷新率
FPS , Frames Per Sencond ,每秒更新多少帧
Update() ,称为帧更新
此方法会被游戏引擎定时调用,以更新游戏的状态,每更新1帧,调用一次Update()方法

帧率观察:

  • Time.time ,游戏时间
  • Time.deltaTime ,距上次更新的时间差

显然,帧率是不固定的,Unity 会尽量较快地更新

Unity 不支持固定帧率,但可以设定一个近似帧率
Application.targetFrameRate = 60;

其中,指定 Unity 尽量以 FPS = 60 的帧率更新游戏

阅读全文 »

Unity学习笔记(二)

发表于 2022-04-14 | 分类于 游戏开发 | 评论数:
本文字数: 4.4k | 阅读时长 ≈ 7 分钟

资源

资源文件

Assets 目录下的文件,称为资源
常见类型:

  • 模型文件 Model (*.fbx)
  • 图片文件 Texture (*.jpg / png / psd / tif)
  • 音频文件 AudioClip (*.mp3 / wav / aiff)
  • 脚本文件 Script (*.cs)
  • 材质文件 .mat, 场景文件 .unity

目录式的资源管理,和 Windows 类似
几个操作:

  • 在文件夹窗口查看 ,Show In Explorer
  • 添加、删除目录
  • 添加资源文件,文件会被拷贝到项目中
  • 复制资源 ,CTRL+D
  • 缩略图比例调节 、列表模式

Meta ,描述文件
每一个资源文件 / 文件夹,都对应一个 *.meta 描述文件

场景文件

场景文件 *.unity ,记录了场景中的节点数据。场景文件包含:

  • 场景全局设置
  • 节点
  • 节点下的组件
  • 每个组件的参数值

一个场景代表一个关卡,可以创建多个场景
几个操作:

  • 添加场景
  • 打开场景
  • 编辑场景,保存 CTRL + S
阅读全文 »

Unity学习笔记(一)

发表于 2022-04-11 | 分类于 游戏开发 | 评论数:
本文字数: 4.1k | 阅读时长 ≈ 7 分钟

一直对游戏兴趣浓厚,在玩游戏的过程中萌生了自己设计开发游戏的想法,之前也收藏了不少教程,但都一直放在收藏夹吃灰。最近痛下决心,用爱发电,制作一款属于自己的游戏,一定是一件挺有意思的事。在B站上寻得一宝藏UP,简单入门了C#后,开始了我的Unity之旅。

Unity入门

B站宝藏UP:邵发

教程地址:https://www.bilibili.com/video/BV1TZ4y1o76s

Unity安装

https://unity.cn/

选择LTS版本安装,先装Unity Hub,注册登录,然后装Editor

这里选择2020.3.25f1c1

创建项目

Unity Hub-项目-新建
注意登录状态,个人许可证是否到期

窗口布局

打开Editor,主要窗口如下:

  • Hierarchy 层级:节点管理器
  • Scene 场景:3D场景视图
  • Game 游戏:运行游戏
  • Inspector 检查器:展示选中节点详细属性
  • Project 项目:展示项目目录结构
  • Console 控制台:调试,debug

窗口布局可自定义,回到默认窗口布局:
Window-Layouts-default

界面字体大小调整:
Edit-Preferences-UI Scaling-取消勾选Use default desktop setting-调整Use custom scaling value

阅读全文 »

Terraform

发表于 2022-01-15 | 分类于 AWS云技术 | 评论数:
本文字数: 6.8k | 阅读时长 ≈ 11 分钟

背景:因为工作调动去了外企,恶补口语的同时也需要锻炼一下英语文档能力,故此篇用英语写作。本篇文章是对Udemy上Terraform教程的学习总结与归纳。

Terraform Basic Concepts

Terraform

Terraform is used for infrastructure code developed by a company called HashiCorp.

Infrastructure

Anything that related to how we’re setting up what we want for our technology stack is our infrastructure.

Infrastructure as Code(IaC)

Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools.

阅读全文 »

HashiCorp Vault

发表于 2021-12-17 | 分类于 AWS云技术 | 评论数:
本文字数: 1.5k | 阅读时长 ≈ 3 分钟

HashiCorp Vault概述

HashiCorp Vault是一项管理密钥,保护敏感数据的网络安全技术。
为人与计算机双方提供了一个单一的密钥来源。
为密钥的整个生命周期提供了一个管理功能,包括:

  • 防止密钥传播
  • 安全存储密钥
  • 提供获取密钥的管理方法

Vault 生成Token

阅读全文 »

Kubernetes

发表于 2021-11-05 | 分类于 容器 | 评论数:
本文字数: 3.1k | 阅读时长 ≈ 5 分钟

Kubernetes概述

Kubernetes也被称为K8s(以下简称K8s)

由Google建立,如今已经成为一个开源的,最受欢迎的容器编排技术(container orchestration technology)

Container-Docker

为什么需要容器

例如,一个项目,如果web服务器用nodejs,数据库用mongodb,缓存用redis,配置和部署工具用ansible。用这些不同的组件可能会带来一些痛点:

  1. 这些组件是否和底层操作系统兼容。我们必须确保这些服务与我们拟采用的操作系统版本兼容。
  2. 这些组件是否和libraries或dependencies兼容。可能出现其中一个组件需要A版本的dependency和library,另一个却需要B版本的dependency和library。这可能导致组件的更新,而每一次组件的更新,都要重新检查所有组件是否与底层基础设施兼容。
  3. 当有新员工入职,安装开发环境十分麻烦,新员工必须尝试各种版本,阅读各种文档才能完成环境配置。
  4. 在不同的开发、测试、生产环境中使用的OS可能不同,不同的开发者使用的OS也可能不同,不能保证相同的应用在不同的环境能够稳定运行。

针对以上痛点,Docker应运而生。Docker使不同组件分别在不同的容器中运行,这些容器拥有自己独立的libraries或dependencies。所有容器在相同的虚拟机和操作系统中运行。

阅读全文 »

git回滚到指定版本

发表于 2021-09-11 | 分类于 版本管理 | 评论数:
本文字数: 871 | 阅读时长 ≈ 1 分钟

一. git命令

  1. git branch: 查看当前分支,后加-a查看所有分支。

  2. git log:查看提交历史记录,在commit id这一项中可以看到提交的历史版本id。

  3. git reflog: 查看执行过的git命令记录

  4. git reset --soft: 软回滚到指定版本,本地源码保留未commit的内容。

  5. git reset --mixed: 默认方式,不带任何参数的git reset,回退到某个版本,只保留源码,回退commit和index信息。

  6. git reset --hard: 硬回滚到指定版本,本地源码也会直接更新为指定版本的内容,撤销的commit中所包含的更改被撤销。

阅读全文 »
12…6
PrinceCheng

PrinceCheng

You can do anything if you set your mind to it.
56 日志
21 分类
61 标签
RSS
GitHub CSDN
苏ICP备19027033号-1 © 2022 PrinceCheng | 298k | 8:17
由 Hexo 强力驱动 v3.8.0
|
主题 – NexT.Pisces v7.1.1
|
0%