自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Unity的C#编程教程_23_if 条件语句挑战3

设计一个程序,用于统计得分每次按下空格键加十分分数达到 100 分以上,弹出消息:Great!(限制为仅仅弹出一次)提示:使用 bool 变量using System.Collections;using System.Collections.Generic;using UnityEngine;public class AddPoints : MonoBehaviour{ public int points = 0; // 设置个变量存储分数 private bo.

2020-08-08 19:30:20 3

原创 Unity的C#编程教程_22_if 条件语句挑战2

设计一个程序,用于统计得分每次按下空格键加十分分数达到 100 分以上,弹出消息:Great!using System.Collections;using System.Collections.Generic;using UnityEngine;public class AddPoints : MonoBehaviour{ public int points = 0; // 设置个变量存储分数 // Start is called before the firs.

2020-08-07 20:22:10 9

原创 百度飞桨PaddlePaddle论文复现训练营——论文阅读笔记:U-GAT-IT

文章目录一、写在前面二、论文背景三、论文阅读笔记1. Introduction2. Model2.1 生成器 GENERATOR2.2 判别器 DISCRIMINATOR2.3 损失函数 LOSS FUNCTION3. EXPERIMENTS一、写在前面感谢百度组织这次论文复现活动,感兴趣的朋友也可以点击链接参加:https://aistudio.baidu.com/aistudio/education/group/info/1340二、论文背景自 2014 年Goodfellow等人发表了最初的

2020-08-06 11:16:35 24

原创 Unity的C#编程教程_21_用 if 条件语句设计计分程序

设计一个程序,用于统计得分每次按下空格键加十分using System.Collections;using System.Collections.Generic;using UnityEngine;public class AddPoints : MonoBehaviour{ public int points = 0; // 设置个变量存储分数 // Start is called before the first frame update void S.

2020-08-05 19:13:07 15

原创 Unity的C#编程教程_20_if 条件语句

条件语句是另外一个基础概念,用于创建游戏的逻辑(基于状态作出选择)创建一个 C# 脚本,命名为 player首先我们要明白,if 语句只能存在于函数方法中然后我们要实现一个程序,判断游戏人物等级,等级高于 99 级,可以转职这里我们需要一个变量,存储等级using System.Collections;using System.Collections.Generic;using UnityEngine;public class player : MonoBehaviour{ .

2020-08-04 21:19:15 18

原创 Unity的C#编程教程_19_Variables 何时设置为 public 何时设置为 private

如何知道一个变量是 public 还是 private 呢?每次都要拉都程序开头定义的地方查看确认吗?微软推荐的 C# 代码风格,是在 private 变量前面加下划线,比如:private string _playerName这样你程序写到下面的时候,只要看到下划线开头的变量名,就知道这个是私有变量,不用再到前面去查看了什么样的变量应该设置成 public,什么样的设置成 private 呢?基本原则是这样的:默认的所有变量都应该是 private(事实上你不设定的话,程序默认即为 .

2020-08-03 22:29:59 16

原创 Unity的C#编程教程_18_Variables 挑战 4 计算平均伤害

这里进行 5 次 攻击攻击伤害随机计算平均伤害using System.Collections;using System.Collections.Generic;using UnityEngine;public class DamageCalculator : MonoBehaviour{ public float hit1, hit2, hit3, hit4, hit5; // 可以直接用逗号创建类似的变量 // Start is called before.

2020-08-01 21:16:15 25

原创 Unity的C#编程教程_17_Variables 挑战 3 折扣计算器

使用变量设计一个 折扣计算器比如我们需要知道原价,需要知道打几折,最后计算一个结算价,然后显示出来所有信息怎么在程序里实现呢?using System.Collections;using System.Collections.Generic;using UnityEngine;public class DiscountCalculator : MonoBehaviour{ public float priceOld; public int discount; // 打几.

2020-07-31 20:12:28 15

原创 Unity的C#编程教程_16_Variables 挑战 2

第二个挑战假设一个 RPG 游戏需要创建一个道具的类,我们创建一个 C# Script 叫做 Item如何在脚本里来创建道具呢?我们知道,对于道具来说,有一些属性,比如“名字”,“描述”,比如还可以有个 “图标”,或许还有个 “价值”这里面其他都很容易理解,但是 “图标” 该怎么设置呢?在 Unity 中我们使用的是 Sprites我们需要知道怎么把 Sprites 图像添加到 变量 Variables 上using System.Collections;using System..

2020-07-31 08:28:46 10

原创 Unity的C#编程教程_15_Variables 挑战 1

尝试设置一些关于 variables 的挑战设置一个变量存储你的名字设置一个变量存储年龄设置一个变量存储速度设置一个变量存储生命值设置一个变量存储经验值设置一个变量确认所有通关条件达成设置一个变量存储弹药数量在 console 中将这些信息都显示出来using System.Collections;using System.Collections.Generic;using UnityEngine;public class VarTask : MonoBehaviour.

2020-07-29 19:06:53 34

原创 Unity的C#编程教程_14_Common Data Types 数据类型

各种类型的区别,比如 int,uint,short,byte 等可以直接百度/谷歌搜索对照表类型描述范围默认值bool布尔值True 或 FalseFalsebyte8 位无符号整数0 到 2550char16 位 Unicode 字符U +0000 到 U +ffff‘\0’decimal128 位精确的十进制值,28-29 有效位数(-7.9 x 1028 到 7.9 x 1028) / 100 到 280.0Mdouble.

2020-07-28 19:20:05 12

原创 Unity的C#编程教程_13_Variables 变量

是一个存储信息的容器比如游戏里面的经验值,金钱,魔法值,攻击力等等,都可以用变量来存储public 和 privatepublic 对别的类都是可见的,而且可以在 Unity 的 Inspector 中进行编辑private 是指只有该脚本可以看见并编辑比如在游戏控制脚本中,有些信息我们不希望别的脚本对其中的信息进行控制,所以设置这些信息为 private,有些信息需要公开,比如 score,每个脚本可能都要读取这个信息,然后做对应的动作比如角色的血量,那别的游戏对象脚本也能访问,这样在发动.

2020-07-26 22:25:33 23

原创 Unity的C#编程教程_12_C# 脚本概览

在project窗口新建 C# Script注意,新建的时候就要起好名字,后面改名会出问题名字要有意义,易于识别,因为文件里面的 Class 的名字是和文件名相同的打开脚本文件可以看到,新的类是继承于 MonoBehaviour(来自于 Unity)MonoBehaviour 要求脚本需要挂载在游戏对象上作为组件下面由两个默认的的函数方法,void Start() 和 void Update(),继承于 MonoBehaviour代码顶部是 using 各种命名空间,可以理解为链接到各个代码库.

2020-07-25 22:29:24 12

原创 基于百度飞桨PaddlePaddle和PARL复现PPO强化学习算法

文章目录一、PPO训练效果展示(Mujoco HalfCheetah-v2)二、策略优化算法发展回顾:三、PPO 算法论文阅读1. Introduction2. Background: Policy Optimization2.1 Policy Gradient Methods2.2 Trust Region Methods3. Clipped Surrogate Objective4. Adaptive KL Penalty Coefficient5. Algorithm6. Experiments6.1

2020-07-23 09:25:36 99

原创 Unity的C#编程教程_11_Quaternion Slerp(四元数球面线性插值)

代表线性插值 Linear Interpolation,但是球状的不是和目标方向点直接连接(联动),而是平滑地移动到目标方向using System.Collections;using System.Collections.Generic;using UnityEngine;public class AimSlerp : MonoBehaviour{ [SerializeField] private Transform _cube; // 直接设置一个空间变量 .

2020-07-21 20:54:27 43

原创 Unity的C#编程教程_10_Quaternion Look Rotation(四元数视觉转动)

这里讲的是 Quaternion 类下面的 LookRotation 方法往指定的前方和上方的方向创建一个旋转首先计算角色面向的角度,然后设定到新的面向方向使用官方素材导入一个人物创建一个 cube创建 C# Script,命名 Aim,挂载到人物下面首先我们要搞清楚怎么设置面向的角度非常简单,就是目标坐标和人物坐标相减(数学里面的向量)我们这里的目标是 cube所以要取得 cube 的坐标,然后减去人物坐标即可在脚本中创建一个 位置变量,然后到 Inspector 中把 场景中.

2020-07-20 21:27:29 24

原创 Unity的C#编程教程_9_Quaternion Identity(四元数同一性)

创建一个 C# Script 脚本,用于生成 Cube把脚本挂到 Main Camera 下脚本中创建变量,并把 cube 预制件拖进去using System.Collections;using System.Collections.Generic;using UnityEngine;public class SpawnCube : MonoBehaviour{ [SerializeField] private GameObject cubePrefeb; .

2020-07-19 18:47:19 38

原创 强化学习环境:MuJoCo 安装踩坑记录(2020年7月18日)

文章目录写在开头:一、MuJoCo环境介绍:二、系统平台介绍:三、安装 MuJoCo:3.1 获取许可证3.2 下载源文件四、安装 mujoco-py五、最后解决方案:写在开头:本文写在笔者学习了强化学习算法 DQN,PG 和 DDPG 之后之所以要安装 MuJoCo,是为了尝试 PPO 算法之前尝试安装 RLBench 去验证学过的几个算法的时候,花费了整整 3 天没有成功,一把辛酸泪~所以这次看到 MuJoCo 这个环境也是和机器人相关,想再次尝试一下希望我踩过的坑可以帮助同道中人少一点痛

2020-07-18 17:15:48 194

原创 Unity的C#编程教程_8_Quaternions and Euler Angles(四元数和欧拉角)

对初学者来说,就是怎么控制旋转新建项目,打开默认场景,可以看到 Main Camera 的 Rotation 中 X,Y,Z 都为 0这 3 个值代表着绕哪个轴旋转x 是左右贯穿的轴,y 是上下贯穿的轴,z 是前后贯穿的轴如果在上面坐标轴选择的是 Local,那在改变数值的时候,你可以看到坐标轴的对应变化相对的角度指的是 Local 坐标轴相对 Global 全局坐标轴的角度Quaternions 是个四元组,包含 x,y,z,w,由于Unity为了可读性更好,所以在 Inspecto.

2020-07-17 15:54:48 29

原创 Unity的C#编程教程_7_制作炸毁物体的效果

Asset store 搜索 Crash Crate,免费下载素材把整体的 Object 和 碎片 Object 都加入场景创建 C# Script,命名为 Crate(条板箱的意思),挂载到整体箱子的下面把碎片箱子反激活,进行隐藏我们希望在按下 空格键的时候,可以把箱子炸掉打开脚本创建一个 public 游戏对象变量 fracturedCrate,然后进入编辑窗口把碎片箱子拖进去PS:这里最好调整一下碎片箱子和整体箱子的坐标做到匹配然后删除场景中的碎片箱子下载官方的粒子素材,里面由爆炸.

2020-07-16 20:39:23 31

原创 Unity的C#编程教程_6_后期处理模块

Post-Processing Effects后期处理效果,其实就是在 Main Camera 上面加滤镜效果进入 Window——Package Manager——Post Processing——Install完成后,在 Project——Packages 下面可以 看到 Post Processing 文件夹选中 Main Camera,增加 Post-process Layer 组件这个组件决定了那一个 Layer 会受到后期处理影响选中右上角的 Layers 下拉菜单,选择 Edit

2020-07-15 21:48:56 28

原创 Unity的C#编程教程_5_游戏的暂停和重启设置

Pause System可以下载一个官方的免费带动画的角色进行尝试,可以看得更直观希望达到目的:按下空格键,可以暂停游戏游戏里面的事件由 Time.timeScale 控制创建一个新的 C# Script,命名为 Pause将脚本挂载到 Main Camera 下面的组件using System.Collections;using System.Collections.Generic;using UnityEngine;public class Pause : MonoBehavio

2020-07-14 20:32:47 58

原创 Unity的C#编程教程_4_游戏对象的碰撞检测

Collider of GameObjects在场景新建一个 Cube 对象,比如取名 PowerUp然后在素材文件夹新建一个 material,设置个颜色然后把 material 拖动到游戏对象上进行着色Box ColliderIs Trigger 打勾,表示用于“触发事件”,同时被物理引擎忽略(即可以穿透,不是个实在的物体)增加 Rigidbody 组件Use Gravity 去除勾,确保不受重力影响新建 C# script,命名为 Collectable,挂载到游戏对象下

2020-07-13 21:12:27 42

原创 Unity的C#编程教程_3_简单移动控制

Simple Movement创建一个 player 对象,比如一个 3D Cube在对象上挂载脚本 PlayerMovement这里我们将使用 transform.Translate() 方法using System.Collections;using System.Collections.Generic;using UnityEngine;public class PlayerMovement : MonoBehaviour{ [SerializeField] pr

2020-07-12 17:53:01 44

原创 Unity的C#编程_2_输入信息/键盘输入

User Input创建一个 C# Script,添加到 Main Camera 上面,并打开所有的用户输入,需要在 Update() 函数方法中进行假设我们监控空格键,按下的时候显示一个信息using System.Collections;using System.Collections.Generic;using UnityEngine;public class Main : MonoBehaviour{ // Start is called before the firs

2020-07-11 19:37:48 38

原创 Unity的C#编程_1_改变游戏对象的位置

Change GameObject Position在游戏里面新建一个游戏对象,比如一个正方形然后新建一个脚本文件 C# Script,拖拽到这个游戏对象的 Inspector 窗口,成为该游戏对象的组件打开该脚本using System.Collections;using System.Collections.Generic;using UnityEngine;public class Player : MonoBehaviour{ public Vector3 start

2020-07-10 17:47:50 51

原创 error CS0117: ‘EditorSceneManager‘ does not contain a definition for ‘IsGameObjectInMainScenes‘

Unity 报错:error CS0117: ‘EditorSceneManager’ does not contain a definition for ‘IsGameObjectInMainScenes’报错原因:Post Pressing版本太低解决方案:Window -> Package Manager,打开Package Manage界面,然后升级 Post Pressing...

2020-07-09 21:11:05 94

原创 推荐有趣的项目(同时安利免费算力和优质项目的平台 AI Studio)

2020-07-09 12:54:22 39

原创 Unity 报错 Failed to import package with error: Couldn‘t decompress package 的解决方案

下载 Karting Microgame 的时候除了问题,import 就会报错修正方法:找到电脑里的~/Library/Unity/Asset Store-5.x 文件夹把里面的 对应文件删除然后打开 Unity,新建项目以后,直接从项目里面进入 Asset Store,重新下载并 import,提示缺少了 package,按照提示安装以后,import 成功...

2020-07-08 15:04:12 121

原创 使用深度学习算法 DQN 来玩 flappy bird 无敌了!
原力计划

靠自己变强才是 AI 的强大!看我的强化学习算法自己玩 Flappy Bird! 使用深度学习算法 DQN 来玩 flappy bird安装依赖pip install parl == 1.3.1pip install pygamepip install paddlepaddle模拟环境 PLE 库(PyGame-Learning-Environment)[https://gi...

2020-07-07 19:35:47 187

原创 强化学习环境 OpenAI Retro 的介绍及安装方式

使用 OpenAI Retro,这是一个使用 Libretro API 将电子游戏模拟器核心转到 Gym 环境的包装器环境这里 gym-retro 环境仅仅提供了游戏交互,但是没有提供游戏的 ROMS,直接创建游戏环境会报错,比如:FileNotFoundError: Game not found: Airwolf-Nes. Did you make sure to import the ROM?所以需要先下载 ROMS推荐网址:http://www.atarimania.com/rom_co

2020-07-06 18:46:49 92

原创 强化学习算法回顾 Q-learning 玩 OpenAI 的 Taxi 游戏
原力计划

这里使用的是 OpenAI Taxi-V3 环境这里有 4 个地点,分别用 4 个字母表示,任务是要从一个地点接上乘客,送到另外 3 个中的一个放下乘客,越快越好。成功运送一个客人获得 20 分奖励每走一步损失 1 分(希望尽快送到目的地)没有把客人放到指定的位置,损失 10 分渲染图中显示,一共 R,G,B,Y 这 4 个地点,黄色的块是 taxi,其中 “:” 栅栏可以穿越,"|" 栅栏不能穿越蓝色显示的就是有乘客的地方,红色显示的就是乘客的目的地文章目录Step 0: 安装依赖S.

2020-07-05 14:24:29 72

原创 Mac 终端进入 conda 虚拟环境后 pip 依然安装到全局下的问题解决

一、问题起因:之前折腾安装各种软件可能是不小心改了些什么莫名奇妙的设置然后就出现了问题:mac 系统 Catalina版本10.15.5在 anaconda 中创建了新的虚拟环境(比如 test)然后在 mac 终端中 输入source activate test 进入虚拟环境使用 pip install 安装的东西都被安装到了全局下,而不是虚拟环境中使用 which pip 查看,显示为全局下的 pip使用 which python 查看,显示为全局下的 python二、尝试了无

2020-07-05 10:57:39 94

原创 C# 中的反射及其优缺点(学习心得 29)

反射指程序可以访问、检测和修改它本身状态或行为的一种能力。程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装 程序集、模块和类型 的对象。可以使用反射,动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。一、反射的优缺点优点:1、反射提高了程序的灵活性和扩展性。2、降低耦合性,提高自适应能力。3、允许程序创建和控制任何类的对象,无需提前硬编码目标类。缺点:1、性能问题:使用反射基本上是一种解释操作,用于

2020-07-03 17:14:51 52

原创 Python 修饰符 @ 的用法汇总
原力计划

为已经存在的函数A,添加新的功能B文章目录一、Python 修饰符 @1.1 例子:为函数 Fun_A 添加 Fun_B 的新功能1.2 复杂一点的例子:嵌套1.3 更复杂的例子:带有参数1.4 再复杂一点的例子:返回一个函数二、functools 模块中修改函数属性的方法 @wraps2.1 保留新功能的函数名2.2 新增功能带有多个参数2.3 修饰符带有参数一、Python 修饰符 @1.1 例子:为函数 Fun_A 添加 Fun_B 的新功能def Func_A(f): f() # 在

2020-07-02 18:54:51 49

原创 numpy.savetxt() 报错 Mismatch between array dtype (‘object‘) and format specifier (‘%.18e‘)的解决方法

将数组存储为文件:import numpy as npa = np.array([[1,2,3],[1,2]])np.savetxt('xxx.txt',a)报错:TypeError: Mismatch between array dtype ('object') and format specifier ('%.18e')解决方法:可以把 数组中每个元素个数变成一样(长度相同)或者改用 pickle 代替 numpy.savetxt()import numpy as npi

2020-07-01 17:02:14 333

原创 C# 的特性 Attribute(学习心得 28)
原力计划

特性(Attribute):用于,在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的 行为信息 的 声明性标签。您可以通过使用 特性 向程序添加 声明性信息 。一个 声明性标签 是通过放置在它所应用的元素前面的方括号([ ])来描述的。特性(Attribute)用于添加 元数据,如编译器指令和注释、描述、方法、类等其他信息。.Net 框架提供了两种类型的特性:预定义特性和自定义特性。文章目录一、规定特性(Attribute)二、预定义特性(Attribute)2.1 Attribut

2020-07-01 15:43:53 93

原创 C# 的文件读写方式汇总(学习心得 27)
原力计划

当打开文件进行读写时,它变成一个 流。从根本上说,流是通过通信路径传递的字节序列。有两个主要的流:输入流 和 输出流。输入流用于从文件读取数据(读操作)输出流用于向文件写入数据(写操作)文章目录一、C# I/O 类二、FileStream 类三、C# 高级文件操作3.1 文本文件的读写3.1.1 StreamReader 类3.1.2 StreamWriter 类3.2 C# 二进制文件的读写3.2.1 BinaryReader 类3.2.2 BinaryWriter 类3.3 Win

2020-06-30 19:10:17 87

原创 强化学习算法实现自动炒股

强化学习算法自动炒股本文利用强化学习算法 PG,来对股票市场的指数进行交易研究感兴趣的朋友可以在这个基础上导入其他市场的数据,添加 observation 的维度(本文仅使用了“当天收盘价”和“与前一天收盘价的差值”两个维度)操作 action 设置了 2 个维度 :short 和 long添加多个维度的数据,再对多个股票进行算法训练,一定会使得该模型更具有鲁棒性,希望大家多多尝试百度深度学习算法库 PARL ,以及搭建股票测试环境的 gym-anytrading 网址附在下面,用起来感觉不错的可

2020-06-29 10:08:55 219

原创 C# 异常处理(学习心得 26)
原力计划

C# 异常处理时建立在四个关键词之上的:try、catch、finally 和 throw。try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。finally:finally 块用于执行给定的语句,不管异常是否被抛出都会执行。例如,如果您打开一个文件,不管是否出现异常文件都要被关闭。throw:当问题出现时,程序抛出一个异常。使用 throw 关键字来完成。语法:try{

2020-06-28 20:47:51 53

提示
确定要删除当前文章?
取消 删除